@@ -15,6 +15,18 @@ This proposal answers the "Better SDK Opportunity" in `northstar.md` by combinin
1515- Caracal's strongest ideas (short-lived mandates, scope checks, fail-closed gateway-style enforcement, immutable authority ledger),
1616- A bridge-first strategy (works with Azure AD/Okta/Auth0 and existing agent stacks).
1717
18+ ## Progress Dashboard
19+
20+ Status snapshot date: 2026-02-16
21+
22+ | Phase | Status | ETA | Owner |
23+ | --- | --- | --- | --- |
24+ | Phase 0: Architecture and Spec Lock | Partially complete | 1-2 weeks total (remaining: sign-off + schema/process formalization) | SDK + Platform + Security |
25+ | Phase 1: Local SDK Guard (MVP) | In progress | 3-5 weeks total (remaining: ` sdk-python ` hooks + OTel export + examples + CI publish flow) | SDK |
26+ | Phase 2: Sidecar + Identity Bridge | Not started (design only) | 4-6 weeks | Platform + Identity |
27+ | Phase 3: Hosted Governance Control Plane | Not started (design only) | 6-8 weeks | Platform + Product |
28+ | Phase 4: Enterprise Hardening and Scale | Not started (design only) | Ongoing (first 4-6 weeks) | Platform + Security + GTM |
29+
1830
1931## TL;DR Design
2032
@@ -511,6 +523,21 @@ async def web_search_tool(query: str):
511523- Basic policy DSL.
512524- Trace/proof event emission to existing tracer.
513525
526+ Status (as of 2026-02-16) : **in progress (MVP scaffold implemented in this `predicate-authority` repository)**
527+
528+ - Completed in repo :
529+ - ` predicate-contracts` package scaffold with typed contracts and protocols.
530+ - ` predicate-authority` local `ActionGuard.authorize(...)` + `enforce(...)`.
531+ - Signed local mandates with TTL + verification.
532+ - Local policy evaluation and normalized deny reasons.
533+ - In-memory proof ledger with optional trace emitter interface.
534+ - pytest coverage for policy, mandate signing, and proof emission paths.
535+ - Pending for full Phase 1 exit :
536+ - direct `sdk-python` integration hooks (pre-action + postcondition linkage),
537+ - OpenTelemetry-native event export (beyond protocol-level trace emitter),
538+ - developer quickstart/examples for browser/MCP/HTTP guard patterns,
539+ - package publishing pipeline verification (`predicate-contracts` -> `predicate-authority`).
540+
514541# # Phase 2: Sidecar and IdP bridge (4-8 weeks)
515542
516543- ` predicate-authorityd` .
@@ -609,6 +636,14 @@ Exit criteria:
609636- compatibility mapping to existing `sdk-python` step lifecycle approved.
610637- release orchestration design approved for multi-package PyPI publishing (`predicate-contracts` then `predicate-authority`).
611638
639+ Current status : **partially complete**
640+
641+ - [x] dependency graph/import boundaries documented in this proposal.
642+ - [x] package scaffolding started in this `predicate-authority` repository (`predicate-contracts`, `predicate-authority`).
643+ - [ ] formal design sign-off from SDK/platform/security.
644+ - [ ] versioned schema docs publication process.
645+ - [ ] approved compatibility mapping with `sdk-python` lifecycle owners.
646+
612647# # Phase 1: Local SDK Guard (MVP) (3-5 weeks)
613648
614649Objective : deliver immediate value with in-process pre-execution authority.
@@ -632,6 +667,18 @@ Exit criteria:
632667- developer quickstart validated end-to-end on local-only mode.
633668- CI release pipeline can publish and verify `predicate-contracts` and `predicate-authority` in dependency order.
634669
670+ Current status : **in progress**
671+
672+ - [x] local `ActionGuard.authorize(...)`.
673+ - [x] signed local mandates.
674+ - [x] local policy evaluation.
675+ - [x] fail-closed deny path with normalized reason enums.
676+ - [x] deterministic regression tests for authorize/deny paths.
677+ - [ ] `sdk-python` runtime integration hooks.
678+ - [ ] OpenTelemetry-native authority event export.
679+ - [ ] quickstart/examples for browser/MCP/outbound HTTP.
680+ - [ ] dependency-ordered package publish pipeline in CI.
681+
635682# # Phase 2: Sidecar + Identity Bridge (4-6 weeks)
636683
637684Objective : production-ready token lifecycle and enterprise identity compatibility.
@@ -657,6 +704,8 @@ Exit criteria:
657704- bridge token exchange validated against at least one enterprise IdP.
658705- sidecar survives restart/network partition with fail-closed guarantees.
659706
707+ Current status : **not started (design only)**
708+
660709# # Phase 3: Hosted Governance Control Plane (6-8 weeks)
661710
662711Objective : ship monetizable cloud governance capabilities.
@@ -675,6 +724,8 @@ Exit criteria:
675724- kill-switch propagation meets incident response target.
676725- billable usage pipeline reconciles authority + snapshot credits accurately.
677726
727+ Current status : **not started (design only)**
728+
678729# # Phase 4: Enterprise Hardening and Scale (ongoing, first 4-6 weeks)
679730
680731Objective : make it enterprise-ready for regulated production.
@@ -693,6 +744,8 @@ Exit criteria:
693744- defined SLOs met in staging/load tests.
694745- enterprise onboarding playbook validated with pilot accounts.
695746
747+ Current status : **not started (design only)**
748+
696749# # Cross-Phase Dependencies
697750
698751- ` sdk-python` runtime contract stability (snapshot schema, assertion labels, step metadata).
0 commit comments