|
1 | 1 | # Roadmap |
2 | 2 |
|
3 | | -## Completed — PR2: CI, browser, and artifact closure |
| 3 | +_Last updated: 2026-07-25._ |
4 | 4 |
|
5 | | -**Status:** Implemented after PR1 (Daily correctness and regression coverage). |
| 5 | +## Current posture |
6 | 6 |
|
7 | | -### Scope |
| 7 | +There is no active feature milestone. Keep `main` tested and open fresh, |
| 8 | +scoped issues only when a concrete defect, user observation, or external |
| 9 | +evidence justifies the work. |
8 | 10 |
|
9 | | -- Split Python compatibility checks into their own version matrix. |
10 | | -- Run Node and browser checks once, outside the Python matrix. |
11 | | -- Syntax-check every tracked JavaScript and MJS file. |
12 | | -- Add a focused Playwright smoke test to pull-request CI. |
13 | | -- Build release artifacts once, then verify, checksum, and upload those exact bytes. |
14 | | -- Make the release workflow publish the already-verified artifacts instead of rebuilding them. |
15 | | -- Remove duplicate builds across matrix jobs, checks, and releases. |
| 11 | +Three changes have landed since v1.4.0 and are not released yet: |
16 | 12 |
|
17 | | -### Acceptance criteria |
| 13 | +- the source-case option-length cue repair (PR #35); |
| 14 | +- promotion of `source_credibility` to the fourteenth loggable structure |
| 15 | + (issue #36, PR #37); |
| 16 | +- serialized local Passport checkpoint writes (issue #38, PR #39). |
18 | 17 |
|
19 | | -- Python versions are tested independently without repeating Node, browser, or artifact work. |
20 | | -- Pull requests fail on syntax errors in any tracked `.js` or `.mjs` file. |
21 | | -- Pull requests run and pass the documented Playwright smoke path. |
22 | | -- Each release artifact is produced exactly once and has a recorded checksum. |
23 | | -- The bytes attached to a release match the artifact verified by CI, as confirmed by checksum. |
24 | | -- No workflow job rebuilds an artifact that an earlier job already produced. |
| 18 | +## Before the next release |
| 19 | + |
| 20 | +- Run and record the full behavioral Gate 1–13 suite against the release |
| 21 | + candidate. Gate 13A–13E are new and have no release attestation yet; 13D must |
| 22 | + inspect the local Passport events for a source-credibility hit, miss, and |
| 23 | + valid challenge. |
| 24 | +- Include the Passport-triggered Gate 4, RL8, RL12, and Gate 12 cases required |
| 25 | + by the retry policy after changes to the checkpoint helper and caller |
| 26 | + contract. |
| 27 | +- Re-run the automated test, invariant, mutation, build, archive-integrity, |
| 28 | + public-boundary, and release checks on the exact candidate bytes. |
| 29 | + |
| 30 | +These are release gates, not a commitment to cut a release on a particular |
| 31 | +date. |
| 32 | + |
| 33 | +## Standing, evidence-gated work |
| 34 | + |
| 35 | +### Scene fallacy lenses (#11) |
| 36 | + |
| 37 | +Keep the fallacy-recognition track's current ten-lens ruling surface. |
| 38 | +Additional lenses are a low-priority, one-at-a-time backlog; each needs its |
| 39 | +own defect test, reverse-guard, boundary text, invariant and mutation coverage, |
| 40 | +Gate 10 probe, and overlay synchronization. Current off-list candidates are |
| 41 | +motte-and-bailey, red herring, and gambler's fallacy. Do not batch-expand the |
| 42 | +set merely to make it exhaustive. |
| 43 | + |
| 44 | +### Local Passport reliability |
| 45 | + |
| 46 | +The checkpoint helper now serializes concurrent writers and fails closed on |
| 47 | +unsafe paths or an unavailable Node.js 22+ prerequisite. The following are |
| 48 | +possible follow-ups, not accepted milestones: |
| 49 | + |
| 50 | +- add idempotent checkpoint IDs before attempting to eliminate the |
| 51 | + lost-success-acknowledgement duplicate-retry window or make directory-sync |
| 52 | + failures fatal; |
| 53 | +- validate the full event envelope (`schema_version`, `ts`, and `type`) in the |
| 54 | + helper if malformed semantic records appear in real use; |
| 55 | +- consider a bundled cross-platform writer only if removing the local |
| 56 | + Node.js 22+ prerequisite becomes a demonstrated need. |
| 57 | + |
| 58 | +Each follow-up should start as a separate issue with a reproducible failure or |
| 59 | +clear user need. |
| 60 | + |
| 61 | +## Deliberately not scheduled |
| 62 | + |
| 63 | +Issue #20's R4 proposal, a per-mode constructive-alignment matrix, remains |
| 64 | +unscheduled. Its runtime context cost is high and its current value overlaps |
| 65 | +existing mode contracts. Revisit it only through a fresh scoped issue backed |
| 66 | +by concrete evidence; it is not unfinished work under #20. |
| 67 | + |
| 68 | +## Completed landmarks |
| 69 | + |
| 70 | +- The PR2 workstream, merged through PR #17, closed the CI, browser-smoke, and |
| 71 | + release-artifact integrity gaps. |
| 72 | +- The verified Calma–Davies/Peregrine implementation wave (#21–#26 and #30–#33) |
| 73 | + shipped in v1.4.0 through PR #34. |
| 74 | +- The seven-case source-credibility pilot (#27) produced the decision to add |
| 75 | + the fourteenth structure, implemented through #36/#37. |
| 76 | +- The pilot's option-length cue was repaired through PR #35. |
| 77 | +- Local Passport concurrent checkpoint writes were hardened through #38/#39. |
0 commit comments