Skip to content

Commit 84b0341

Browse files
committed
chore: close out v1.19 planning artifacts
1 parent 47b2e49 commit 84b0341

51 files changed

Lines changed: 5379 additions & 43 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.planning/REQUIREMENTS.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,24 @@
1111
### INTEG — Adapter contracts and host wiring
1212

1313
- [x] **INTEG-01**: Threadline publishes one stable adapter contract for actor extraction, additive context overrides, optional dependency behavior, and operator-surface composition across `Threadline.Plug`, `Threadline.Job`, and `Threadline.Integrations.*`.
14-
- [ ] **INTEG-02**: At least one first-party breadth path ships as a reusable `Threadline.Integrations.*` reference integration that materially reduces host glue while keeping the host framework as a soft dependency.
15-
- [ ] **INTEG-03**: The operator surface has a documented and tested host-owned access pattern for router pipeline checks, LiveView mount checks, and optional scoped investigation queries, without introducing a Threadline-owned user or role model.
14+
- [x] **INTEG-02**: At least one first-party breadth path ships as a reusable `Threadline.Integrations.*` reference integration that materially reduces host glue while keeping the host framework as a soft dependency.
15+
- [x] **INTEG-03**: The operator surface has a documented and tested host-owned access pattern for router pipeline checks, LiveView mount checks, and optional scoped investigation queries, without introducing a Threadline-owned user or role model.
1616

1717
### COMPAT — Support matrix and verification honesty
1818

1919
- [x] **COMPAT-01**: Threadline documents a narrow support matrix that names only proven combinations for Plug-only installs, Phoenix operator-surface installs, and the current Sigra-backed reference path.
2020
- [x] **COMPAT-02**: Verification and CI entrypoints exercise the claimed breadth story, including compile-without-optional-deps and the named surface/reference-path combinations, so docs do not promise ranges that the repo does not prove.
21-
- [ ] **COMPAT-03**: Example-app and guide dependency pins, install steps, and compatibility wording are refreshed to the currently supported Phoenix/Sigra lines with explicit caveats where support differs by host stack.
21+
- [x] **COMPAT-03**: Example-app and guide dependency pins, install steps, and compatibility wording are refreshed to the currently supported Phoenix/Sigra lines with explicit caveats where support differs by host stack.
2222

2323
### ADOPT — Mount recipes and runbooks
2424

25-
- [ ] **ADOPT-08**: Threadline ships canonical mount recipes for secure admin and support-read-only operator-surface installs, including router placement, `live_session` / mount-auth expectations, and first verification steps.
26-
- [ ] **ADOPT-09**: The canonical reference path is proven end to end in docs and the example app, and every recommended surface-first workflow names the equivalent Mix-task or CLI fallback for capture-only adopters.
25+
- [x] **ADOPT-08**: Threadline ships canonical mount recipes for secure admin and support-read-only operator-surface installs, including router placement, `live_session` / mount-auth expectations, and first verification steps.
26+
- [x] **ADOPT-09**: The canonical reference path is proven end to end in docs and the example app, and every recommended surface-first workflow names the equivalent Mix-task or CLI fallback for capture-only adopters.
2727

2828
### PKG — Packaging-boundary decision
2929

30-
- [ ] **PKG-01**: Threadline defines an explicit `threadline_web` extraction-readiness scorecard based on objective triggers such as version-matrix pressure, release-cadence divergence, and repeated adopter glue.
31-
- [ ] **PKG-02**: v1.19 closes with a documented package-boundary decision — expected default: stay in-tree for now — with README, guides, module-grouping/package contracts, and migration-path wording aligned to that decision.
30+
- [x] **PKG-01**: Threadline defines an explicit `threadline_web` extraction-readiness scorecard based on objective triggers such as version-matrix pressure, release-cadence divergence, and repeated adopter glue.
31+
- [x] **PKG-02**: v1.19 closes with a documented package-boundary decision — expected default: stay in-tree for now — with README, guides, module-grouping/package contracts, and migration-path wording aligned to that decision.
3232

3333
## Future Requirements
3434

@@ -55,14 +55,14 @@
5555
|-------------|-------|--------|
5656
| INTEG-01 | Phase 69 | Complete |
5757
| COMPAT-01 | Phase 69 | Complete |
58-
| COMPAT-02 | Phase 69 | Complete |
59-
| INTEG-02 | Phase 70 | Pending |
60-
| COMPAT-03 | Phase 70 | Pending |
61-
| ADOPT-09 | Phase 70 | Pending |
62-
| INTEG-03 | Phase 71 | Pending |
63-
| ADOPT-08 | Phase 71 | Pending |
64-
| PKG-01 | Phase 72 | Pending |
65-
| PKG-02 | Phase 72 | Pending |
58+
| COMPAT-02 | Phase 73 | Complete |
59+
| INTEG-02 | Phase 70 | Complete |
60+
| COMPAT-03 | Phase 73 | Complete |
61+
| ADOPT-09 | Phase 73 | Complete |
62+
| INTEG-03 | Phase 73 | Complete |
63+
| ADOPT-08 | Phase 73 | Complete |
64+
| PKG-01 | Phase 74 | Complete |
65+
| PKG-02 | Phase 74 | Complete |
6666

6767
**Coverage at roadmap open:**
6868
- v1.19 requirements: 10 total

.planning/ROADMAP.md

Lines changed: 48 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
### v1.19 — Integration Breadth
66

7-
**Status:** In progress
8-
**Phases:** 69-72 (continuing from v1.18's last phase, no `--reset-phase-numbers`)
7+
**Status:** Gap closure in progress
8+
**Phases:** 69-74 (continuing from v1.18's last phase, no `--reset-phase-numbers`)
99
**Granularity:** coarse (per `.planning/config.json`)
1010
**Coverage:** 10/10 v1.19 requirements mapped
1111

@@ -14,9 +14,11 @@
1414
#### Phases
1515

1616
- [x] **Phase 69: Integration Contracts & Support Matrix** — Freeze the reusable adapter contract, define the named support matrix, and wire verification/CI expectations so Threadline only claims combinations the repo actually proves
17-
- [ ] **Phase 70: Sigra/Phoenix Reference Integration Refresh** — Refresh the current Sigra-backed reference path and example/docs/package wording to match the supported Phoenix/Sigra lines while keeping Sigra a soft dependency
18-
- [ ] **Phase 71: Mount Recipes & Access Tiers** — Ship canonical admin and support-read-only mount/runbook patterns for the operator surface, including router/live-session/auth-hook placement and CLI fallback parity
19-
- [ ] **Phase 72: Packaging Boundary Scorecard & Closeout** — Define objective `threadline_web` extraction triggers, align package/docs/module-group contracts, and close the milestone with an explicit stay-in-tree or extract-later decision
17+
- [x] **Phase 70: Sigra/Phoenix Reference Integration Refresh** — Refresh the current Sigra-backed reference path and example/docs/package wording to match the supported Phoenix/Sigra lines while keeping Sigra a soft dependency
18+
- [x] **Phase 71: Mount Recipes & Access Tiers** — Ship canonical admin and support-read-only mount/runbook patterns for the operator surface, including router/live-session/auth-hook placement and CLI fallback parity
19+
- [x] **Phase 72: Packaging Boundary Scorecard & Closeout** — Define objective `threadline_web` extraction triggers, align package/docs/module-group contracts, and close the milestone with an explicit stay-in-tree or extract-later decision
20+
- [x] **Phase 73: Authorization Contract Repair & Scoped Access Enforcement** — Repair the shared `authorize_fn` example, enforce documented support-read-only scope behavior across operator flows, and regenerate the missing Phase 71 proof artifacts
21+
- [x] **Phase 74: Nyquist Closeout & Requirement Tracking Repair** — Restore Phase 72 validation and summary bookkeeping so the packaging-closeout evidence meets the milestone's traceability standards
2022

2123
#### Phase Details
2224

@@ -47,6 +49,11 @@
4749
**Goal**: Adopters can copy one secure pattern for admin access and one secure pattern for support-read-only access without Threadline owning auth or roles.
4850
**Depends on**: Phase 69 (contract/matrix) and Phase 70 (reference-path refresh)
4951
**Requirements**: INTEG-03, ADOPT-08
52+
**Plans:** 3 plans
53+
Plans:
54+
- [x] `71-01-PLAN.md` — Canonical admin/support mount contract docs
55+
- [x] `71-02-PLAN.md` — Quickstart and runnable reference-path alignment
56+
- [x] `71-03-PLAN.md` — Contract and auth proof lock
5057
**Success Criteria**:
5158
1. The operator surface has a documented and tested host-owned access pattern for router pipeline checks, LiveView mount checks, and optional scoped investigation queries, without introducing a Threadline-owned user or role model.
5259
2. Threadline ships canonical mount recipes for secure admin and support-read-only installs, including router placement, `live_session` / mount-auth expectations, and first verification steps.
@@ -58,23 +65,53 @@
5865
**Goal**: Close v1.19 with an evidence-based package-boundary decision and aligned docs/package contracts instead of speculative extraction pressure.
5966
**Depends on**: Phases 69-71
6067
**Requirements**: PKG-01, PKG-02
68+
**Plans:** 2 plans
69+
Plans:
70+
- [x] `72-01-PLAN.md` — Scorecard & Closeout Docs
71+
- [x] `72-02-PLAN.md` — Module Grouping Alignment
6172
**Success Criteria**:
6273
1. Threadline defines an explicit `threadline_web` extraction-readiness scorecard based on objective triggers such as version-matrix pressure, release-cadence divergence, and repeated adopter glue.
6374
2. README, guides, module groups, release/package contracts, and migration-path wording all align to the closeout decision — expected default: stay in-tree for now.
6475
3. The milestone closes with a clear recorded answer to "why not split yet?" or, if evidence unexpectedly justifies it, a concrete follow-on extraction milestone instead of an ad-hoc package move.
6576
**UI hint**: no
6677

78+
##### Phase 73: Authorization Contract Repair & Scoped Access Enforcement
79+
80+
**Goal**: Restore one fail-closed authorization contract across docs, example code, and operator flows while making the documented support-read-only behavior real and provable.
81+
**Depends on**: Phases 69-72
82+
**Requirements**: COMPAT-02, COMPAT-03, ADOPT-09, INTEG-03, ADOPT-08
83+
**Gap Closure**: Closes the Phase 71 authorization drift, scoped-access enforcement gap, missing `71-VERIFICATION.md`, and unfinished `71-VALIDATION.md` flagged by the v1.19 audit.
84+
**Success Criteria**:
85+
1. The canonical example `authorize_fn` demonstrates the same host-owned policy contract across LiveView and export fallback, without relying on divergent transport-specific semantics.
86+
2. The documented support-read-only scope is either enforced consistently across timeline, actor, transaction, and export behavior or the docs are deliberately narrowed to the supported behavior with matching tests.
87+
3. Phase 71 closes with complete verification and validation artifacts, and the proof surface would fail fast if the shared authorization contract drifts again.
88+
**UI hint**: no
89+
90+
##### Phase 74: Nyquist Closeout & Requirement Tracking Repair
91+
92+
**Goal**: Finish the packaging-closeout evidence chain so v1.19 can be re-audited on complete Nyquist and requirement-tracking artifacts rather than partial bookkeeping.
93+
**Depends on**: Phase 73
94+
**Requirements**: PKG-01, PKG-02
95+
**Gap Closure**: Closes the missing `72-VALIDATION.md` artifact and incomplete Phase 72 requirement-tracking summaries flagged by the v1.19 audit.
96+
**Success Criteria**:
97+
1. Phase 72 has a complete validation artifact that records the final packaging-boundary proof and marks Nyquist closeout status explicitly.
98+
2. Phase 72 summaries and requirement traceability carry the expected requirement-tracking metadata so milestone evidence does not depend on ad hoc reconstruction.
99+
3. The active milestone planning state no longer claims closeout readiness until the repaired proof artifacts are present and a fresh audit passes.
100+
**UI hint**: no
101+
67102
#### v1.19 Sequencing Rationale
68103

69104
- **Phase 69 must come first** because Threadline should not broaden its host story before freezing the contract and compatibility language that every later phase depends on.
70105
- **Phase 70 follows immediately** because the current Sigra/Phoenix path is the highest-leverage real host integration already near the codebase; refreshing it against the contract is the fastest way to prove the breadth story with honest caveats.
71106
- **Phase 71 comes after the reference refresh** so mount recipes and access-tier runbooks are written from a proven path instead of speculative patterns.
72107
- **Phase 72 closes the milestone** because the `threadline_web` decision only becomes credible after the adapter contract, reference integration, and mount/runbook burden are visible in one milestone's worth of evidence.
108+
- **Phase 73 reopens the milestone closeout path** because the audit found that the Phase 71 auth contract and support-read-only story drifted from the live proof surface.
109+
- **Phase 74 finishes closeout bookkeeping last** because Nyquist and traceability repairs should capture the final post-fix state, not a stale pre-repair snapshot.
73110
- **The optional-deps posture remains a release gate throughout** — every breadth change must preserve compile-without-optional-deps and avoid introducing new hard runtime dependencies.
74111

75112
## Milestones
76113

77-
- 📋 **v1.19 — Integration Breadth** — Phases 69-72 (active) — [requirements](REQUIREMENTS.md)
114+
- 📋 **v1.19 — Integration Breadth** — Phases 69-74 (gap closure in progress) — [requirements](REQUIREMENTS.md)
78115
-**v1.18 — Adoption and Policy Hardening** — Phases 64-68 (shipped 2026-05-07) — [requirements](milestones/v1.18-REQUIREMENTS.md) · [audit](milestones/v1.18-MILESTONE-AUDIT.md) · [archive](milestones/v1.18-ROADMAP.md)
79116
-**v1.17 — Operator Surface Foundation** — Phases 57-63 (shipped 2026-05-06) — [requirements](milestones/v1.17-REQUIREMENTS.md) · [archive](milestones/v1.17-ROADMAP.md)
80117
-**v1.16 — Investigation Table Stakes** — Phases 53-56 (shipped 2026-05-06) — [requirements](milestones/v1.16-REQUIREMENTS.md) · [archive](milestones/v1.16-ROADMAP.md)
@@ -88,8 +125,10 @@
88125
| Phase | Plans Complete | Status | Completed |
89126
|-------|----------------|--------|-----------|
90127
| 69. Integration Contracts & Support Matrix | 3/3 | Complete | 2026-05-07 |
91-
| 70. Sigra/Phoenix Reference Integration Refresh | 0/0 | Pending ||
92-
| 71. Mount Recipes & Access Tiers | 0/0 | Pending ||
93-
| 72. Packaging Boundary Scorecard & Closeout | 0/0 | Pending ||
128+
| 70. Sigra/Phoenix Reference Integration Refresh | 3/3 | Complete | 2026-05-08 |
129+
| 71. Mount Recipes & Access Tiers | 3/3 | Complete | 2026-05-08 |
130+
| 72. Packaging Boundary Scorecard & Closeout | 2/2 | Complete | 2026-05-08 |
131+
| 73. Authorization Contract Repair & Scoped Access Enforcement | 3/3 | Complete | 2026-05-08 |
132+
| 74. Nyquist Closeout & Requirement Tracking Repair | 2/2 | Complete | 2026-05-08 |
94133

95134
See `.planning/MILESTONE-ARC.md` for the forward-looking ranked recommendation order beyond the active milestone.

0 commit comments

Comments
 (0)