Status: descriptive Canonical: yes Last Reviewed: 2026-04-26
ICN State (living doc)
Current status (2026-04-26 snapshot)
Current phase: Phase 2 — Pilot Launch (blocked on cooperative partners).
Active execution: institutional-operability runtime (live charter activation, person-directory overlay, /me/standing, authority_scope plumbing all landed) plus the feedback/support doctrine rename and ADR canonicalization under docs/adr/. NYCN package side dogfoods these via the institution-package boundary. Phase model classification is unchanged; see PHASE_PROGRESS.md for phase definitions.
Recently merged (since 2026-04-15)
| PR | Title | Merged |
|---|---|---|
| #1637 | docs: reframe feedback doctrine and canonicalize ADR location | 2026-04-26 |
| #1630 | feat(governance): plumb authority_scope through assign_role end-to-end | 2026-04-25 |
| #1627 | feat(governance): add GET /me/standing read model | 2026-04-25 |
| #1626 | feat(governance): person-directory overlay for bootstrap role assignment | 2026-04-25 |
| #1625 | fix(coop): release sled db lock before reopen test | 2026-04-25 |
| #1624 | feat(governance): live charter activation endpoint | 2026-04-25 |
| #1622 | docs(strategy): institutional ecosystem arc — NYCN as first ecosystem seed | 2026-04-24 |
| #1621 | fix(governance): persist domains across gateway restart in standalone mode | 2026-04-24 |
| #1620 | fix(web): derive steward dashboard gateway URL from request context | 2026-04-24 |
| #1619 | feat(infra): add soft pod anti-affinity for ICN daemons | 2026-04-23 |
| #1618 | feat(ci): add Atlas-backed sccache setup for ci-runner | 2026-04-23 |
| #1617 | fix(bootstrap): treat remaining create conflicts as idempotent | 2026-04-22 |
| #1616 | docs(monitoring): document Helm access path for kube-prometheus-stack upgrade | 2026-04-22 |
| #1614 | fix(monitoring): move Prometheus to Atlas-backed persistent storage | 2026-04-22 |
| #1593 | docs(nycn): live-validate bootstrap apply and rewrite runbook | 2026-04-19 |
| #1592 | test(icnctl): NYCN bootstrap apply integration tests | 2026-04-19 |
| #1591 | fix(gateway): colon-safe proposal index keys with one-shot migration | 2026-04-19 |
| #1590 | fix(governance): close residual acceptance-closure atomicity hazards | 2026-04-18 |
| #1586 | feat(governance): add generic institution bootstrap package path | 2026-04-18 |
Recently merged (2026-04-15 snapshot, retained)
| PR | Title | Merged |
|---|---|---|
| #1547 | feat(governance): notification digest + action-item/meeting events | 2026-04-15 |
| #1546 | docs(dev): session handoff 2026-04-15 | 2026-04-15 |
| #1545 | docs(strategy): correct NYCN-Institutional-Design entity tree | 2026-04-15 |
| #1544 | docs(strategy): NYCN repo-shaped architecture spec + matrix + tranches | 2026-04-15 |
| #1543 | feat(governance): Meeting management primitive | 2026-04-15 |
| #1542 | chore(security): fix Security Audit CI failure | 2026-04-14 |
| #1540 | feat(governance): institutional structure + event model (Tranche 2, part 1) | 2026-04-14 |
| #1534 | docs(strategy): NYCN federation charter draft (CCL YAML) | 2026-04-14 |
| #1533 | feat(governance): consent-based decision mode | 2026-04-14 |
| #1532 | feat(governance): decision-to-action bridge | 2026-04-14 |
| #1529 | chore(repo): add GitHub Sponsors funding button | 2026-04-14 |
| #1527 | fix(ci): add timeout-minutes to docker-build-deploy jobs | 2026-04-11 |
| #1526 | docs: full refresh — archive 21 stale files | 2026-04-11 |
| #1525 | docs(architecture): Constitutional Genesis | 2026-04-11 |
| #1524 | fix(ci): add has_rust dual-signal guard | 2026-04-11 |
Open PRs
| PR | Title | Branch | Status |
|---|---|---|---|
| #1636 | chore(toolchain): upgrade Rust 1.88.0 → 1.95.0 | copilot/upgrade-rust-1-88-to-1-95 | Open — fmt fix pushed; tests running |
What landed since Phase 1 (Charter Engine)
Institutional-operability runtime (added 2026-04-22 → 2026-04-26):
- Generic institution bootstrap package path — #1586
- Bootstrap-apply 409 idempotency for repeated bootstrap runs — #1617
- Persistent governance domains across gateway restart in standalone mode — #1621
- Live charter activation endpoint — #1624
- Person-directory overlay for bootstrap role assignment (DID binding) — #1626
GET /me/standingread model — #1627authority_scopeplumbed end-to-end throughassign_role— #1630- Feedback/support doctrine rename + ADR canonicalization under
docs/adr/— #1637 - NYCN bootstrap apply integration tests + live-validate runbook — #1592, #1593
Governance institutional primitives:
- Governance domains, structures, activities, parent (scope container) — #1540
- Decision-to-action bridge: accepted proposals create linked action items — #1532
- Consent-based decision mode — #1533
- Meeting management (schedule, agenda, attendance, minutes) — #1543
- Notification digest (pending votes, overdue items, upcoming meetings) — #1547
- NYCN architecture docs (repo-shaped spec, implementation matrix, execution tranches) — #1544
- NYCN institutional design correction (layered ontology) — #1545
- Residual acceptance-closure atomicity hazards closed — #1590
- Colon-safe proposal index keys with one-shot migration — #1591
Infrastructure:
- Atlas-backed Prometheus persistent storage — #1614
- Atlas-backed sccache for ci-runner — #1618
- Soft pod anti-affinity for ICN daemons — #1619
- Helm path documented for kube-prometheus-stack — #1616
- Steward dashboard derives gateway URL from request context — #1620
- Security Audit CI fix (wasmtime bump) — #1522, #1542
- CI dual-signal guard — #1524
- Docker-build-deploy timeout fix — #1527
- 21-file doc refresh and archive — #1526
Architectural decisions in force
- Layered ontology (locked 2026-04-14): Entities (sovereign) / Structures (non-sovereign, entity-owned) / Activities (time-bounded, entity-owned). Committees are Structures. Summit is Activity.
- Program is a separate primitive (not Activity extension): Milestones with machine-readable checks, parent_program_id for cycle-handoff. Spec in NYCN-Repo-Architecture-Spec.md §5.
- Authority is capability-string based today, typed model frozen for migration:
RoleAssignment.authority_scope: Vec<String>remains the shipped surface; the constitutional object model (AuthorityClass,AuthorityGrant,TypedScope,Mandate) is frozen in ADR-0014 and is the target of a subsequent additive migration. No behavior change has shipped yet. - Sled key convention: primary
<thing>:{id}; secondary<thing>_by_<scope>:{scope_id}:{id}. - Gateway event naming:
Governance<Thing><Verb>. - Meaning Firewall: CI ratchet enforces no new kernel/domain import regressions. Pre-existing domain imports in icn-core and icn-gateway remain; full extraction is ongoing work.
Architecture notes
- Repo root is not a Cargo workspace; Rust workspace lives in
icn/. - Workspace: 35 crates in
icn/crates/+ 4 app crates inicn/apps/+ 3 binaries = 42 packages.- Crates (in
icn/crates/): icn-api, icn-authz, icn-ccl, icn-commons, icn-community, icn-compute, icn-coop, icn-core, icn-crypto, icn-crypto-pq, icn-encoding, icn-entity, icn-federation, icn-gateway, icn-gossip, icn-governance, icn-http-kit, icn-identity, icn-kernel-api, icn-ledger, icn-naming, icn-net, icn-obs, icn-privacy, icn-protocol, icn-rpc, icn-security, icn-services, icn-snapshot, icn-steward, icn-store, icn-testkit, icn-time, icn-trust, icn-zkp. - App crates (in
icn/apps/): icn-governance-actor, icn-ledger-actor, icn-membership-app, icn-charter-app. - Binaries: icnd, icnctl, icn-console.
- Crates (in
- Web UI: web/pilot-ui (PWA), web/dashboard (static).
- SDKs: sdk/typescript, sdk/react-native.
- Deployment: native/systemd, Docker Compose, Kubernetes, Helm (deploy/README.md).
Decisions (durable)
- Mutual TLS with client certificates enabled (2025-12-18).
- DID-TLS binding verification enabled.
- Some QUIC/chaos tests ignored in CI due to timing; run manually as needed.
Constraints (durable)
- Run Rust build/test commands from
icn/. - Tokio async only; avoid blocking operations in async paths.
- No panics in protocol/network/actor runtime paths.
- Demo status docs note STUN discovery disabled for local-only testing.
References
- docs/PHASE_PROGRESS.md — phase tracking
- docs/architecture/KERNEL_APP_SEPARATION.md — kernel/app boundary
- docs/strategy/NYCN-Repo-Architecture-Spec.md — NYCN institutional architecture
- docs/strategy/NYCN-Execution-Tranches.md — NYCN 7-tranche execution plan
- docs/dev/handoff-2026-04-15.md — latest session handoff
- deploy/README.md — deployment options
Historical snapshots
2026-04-11 snapshot (PR #1520–#1522)
- PR #1520 (website cleanup) merged 2026-04-10
- PR #1522 (
fix/coop-store-sled-lock) merged 2026-04-11 — wasmtime bump + sled lock fix - PR #1521 closed as superseded by #1522
- Pilot Vertical Slice Hardening sprint complete: #1214, #1221, #1220, #1222
- Issue #862 (naming) closed as superseded — implemented as
icn-naming - Issue #1401 (hung docker CI) closed — root cause already removed in #1403
2026-03-18 snapshot (Phase 0 + Phase 1 complete)
- Phase 1 (Charter Engine) complete — PRs #1336 + #1337
- Charter bridge, CharterPolicyOracle, 5 CCL templates, icnctl charter CLI, ratification flow all landed
- Phase 0 (Close the Demo) complete — all 4 flows passing on K3s cluster
- 4,287 tests, ~420K Rust LOC
2026-03-14 snapshot (Governance Demo Sprint)
- Fixed: Gateway governance routes 404 (actix-web scope ordering)
- Fixed: Vote tally (CastVote missing voter DID)
- Built: demo pipeline (start-demo.sh, demo-governance.py, demo.html)
- 547 tests passing, cold-start demo 18/18
2026-02-18 snapshot (Economics Consolidation)
- Sprint 8-10 complete: deterministic economic receipt chain
- CanonicalReceipt, AllocationReceipt, SettlementIntent, ReceiptStore
- 6 REST endpoints for receipt/ledger provenance
- Pilot UI Receipts tab, icnctl receipts commands
2026-01-20 snapshot (Code review findings)
- Repo-wide TODO scan captured
- Large module candidates: icnctl/main.rs (9445 lines), icn-ledger (5447), icn-gateway governance (4650), icn-core governance_handlers (4243)