roadmap: per-area files, every item re-verified (spec §6 migration) - #14
Merged
Conversation
First commit of the migration (spec §6.1.2). The old single-file roadmap is the parent commit of this one; the last single-file commit on master is 315586b. shipped.md carries every [x] item from the old file (168, not the 150 the spec estimated): only 19 sat under the old '## Shipped' heading — the other 149 had been flipped in place inside Bugs/Features/release sections, so the plan's sed over the Shipped section alone would have dropped them. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011TfjZg26EBtRFEZeZHGceQ
…gainst today's code The single-file ROADMAP.md becomes an index (pillar prose, next-release list, a counts table) over docs/roadmap/<area>.md. Every one of the 248 open items was re-classified by its area's filing test and re-checked against the code by one of 19 agents (13 areas, native-harness split by sublevel), then the coordinator placed the 40-odd items that moved between areas. Outcome, as `node scripts/roadmap-check.mjs --fix` reports it on this commit: structure clean · 103 claim anchors checked, 0 broken · 19 decisions for Destin · index rewritten. 240 open entries; 19 items closed to shipped.md on evidence (a commit, a PR, or "no longer reproduces"); 96 new reports under docs/active/investigations/ each carry one claim anchor tested to match exactly once. Coordinator notes worth knowing: - The plan expected 150 shipped items under the old "## Shipped" heading; only 19 were there, the other 149 had been flipped in place. shipped.md carries all 168. - Seven anchors were rewritten: checkAnchor matches the whole file without the `m` flag, so `^` never matches past line 1, and harvestDocAnchors strips backtick spans before parsing, so a backtick inside `contains` is deleted before the regex is built. Neither is in the spec; both bit real agents. - Two older reports gained an anchor instead of a duplicate 2026-09-01 file (2026-08-16-dual-model-oom, 2026-08-17-cache-efficiency). - Doc sweep: every live "see ROADMAP" instruction site in this repo now points at the filing rule or the item's area file; sub-repo pointers are youcoded PR #378. engine-local-models.md's orphaned-partials bullet named a channel and a function that no longer exist and was rewritten from the code. - scripts/roadmap-legacy-worksheet.mjs is deleted (git history keeps it; spec §1). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011TfjZg26EBtRFEZeZHGceQ
…les) Each correction was verified against the code by a read-only agent and re-checked before editing; file:line evidence is in docs/audits/2026-09-01.md (next commit). - android-runtime: setup-node@v7 (both Android workflows); syncGhTokenToNetrc runs in first-run Bootstrap.setup(), not per session. - artifacts: countArtifacts/countAllFiles live in artifacts/projects-index.ts and do not share a cache; Android's check-existence is a stub, and import-file/search-content/ watch-project are not-implemented-on-mobile too. - engine-local-models: pin is b10665; card states are idle|loading|error; the orphaned-partials channel is gone (partial rows resume via models:resume); the rule now also covers providers/provider-registry.ts, which owns ensureServable. - harness-evaluator: max_steps is allowed once (STEP_GATE_ALLOWANCE); two exempt read roots (spill root + internalReadRoots); orchestrator and estimate tests pinned. - landing-page: the embed's theme button clicks the app's own Appearance row (the swatch bar and its sync hook went in 8d077dcd); never-claim list is the audit's; anchor moved onto index.html. - narrow-viewport: 700px structural collapse still exists in globals.css; TerminalRightSlot has one .frame-edge; TOGGLE_PANEL has three callers; the shim adopts the server's platform unless preservePlatform is set. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011TfjZg26EBtRFEZeZHGceQ
…links, add frontmatter to the May glass-theme spec docs/active held six documents whose own frontmatter already said shipped or superseded (quick-chip-edit-surface spec, orientation-block handoff, perf-lab plan, remote-hydration plan, the sidecar-OOM and black-glyphs investigations). Moved to docs/archive/ in place; the twelve live references (perf-lab README, three handoffs, three plans/specs, one 2026-09-01 report, one roadmap entry, the session prompt) now carry the archive path. The floating-glass spec had a bold Status line but no YAML frontmatter, so the lifecycle sweep could not see it; it now says status: draft. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011TfjZg26EBtRFEZeZHGceQ
…n all twelve; file three findings
Semantic pass, second half (each correction verified against code by a read-only agent):
- native-runtime: createSession throws only for a fresh binding-less native session;
~/.youcoded writes go NativeHome.mutateJson → mutateFileUnderLock; native:interrupt /
native:retry are fire-and-forget on both transports.
- react-renderer: text-ramp thresholds are 8/5.5/4/3/2 on five surfaces (contrast-rules.js);
useNarrowViewport() is the sanctioned viewport branch; the attentionMap diff lives in
App's statusData handler, not the shim.
- registries: rebuild-on-merge is gated on a plugin.json dir changing; the theme size gate is
the directory; the reconciler expands only {{plugin_root}} and honours command_windows;
sourceMarketplace value is "youcoded".
- sync-spaces: only the description dimension uses {v,at} wrappers; a Personal-pull
runDiscovery() follows the hub send in broadcast().
- worker-backend: admin routes call requireAdminAccount(c); the deploy job typechecks before
npm test; KNOWN_DEV_DEVICES is not a CI-pushed secret; catalog-ingest shipped 2026-08-30.
- test-suite-hygiene depth: ipc-handlers is ~4,500 lines; the watchdog margins are
4 ms vs 250/400 ms; shell ids are random hex; verify.sh's test-file count was 296 → ~600.
Three findings became roadmap items (marketplace ## install ×2 — ${PACKAGE_DIR} is expanded
by nobody, platforms[] is read as platform — and dev-workspace ## release — the vendored
terminal emulator is labelled GPLv3 in build.gradle.kts and Apache 2.0 in VENDORED.md).
last_verified: 2026-09-01 on the twelve rules the diff scope named. Four rules were trimmed
back under the 600-word budget after the corrections.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TfjZg26EBtRFEZeZHGceQ
…corrections, residue 1 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011TfjZg26EBtRFEZeZHGceQ
… / proposal / options with user-experience pros and cons
Destin's roadmap pass was first handed over as 38 one-line questions in chat and rejected
("this sucks as an answer surface"). scripts/questions/serve.py renders a JSON spec as one
page of cards — each with the four labelled parts, option buttons carrying pros/cons about
the user's experience, an optional note, autosave and one Submit — serves it on loopback,
opens the browser, and prints every answer when he submits. CLAUDE.md gains the rule (four
or more questions → the deck, written for a reader with no context, plain words); the
migration plan's M3 step 3 now points at it.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TfjZg26EBtRFEZeZHGceQ
16 of 19 decisions resolved into work or closed; three stay open pending a plainer explanation or a recommendation (layout insets, queued-message refill, GB convention). Seven items closed to shipped.md: the triage tool (the /wrap-up skill supersedes it), the worded vote counts (kept), the v1.3 Connected-accounts gate (confirmed), the sync-without-gh VM test (done), the theme-builder end-to-end run (done), the Android wallpaper-in-terminal bug (gone), and the sync rule's over-broad status-colour line (reworded in this commit). Three new items from the notes: the post-1.3 formalization push (youcoded.ai, stores, signing, LLC), Z13 touchscreen keyboard misbehaviour, and encrypting the remote channel (which now blocks exposing files/projects/games over remote). The rig-only terminal-wrap bug moved to dev-workspace → rigs and lost its v1.3 flag; the Assistant-settings panel gained one (pre-1.3 priority). Don't-know answers flipped to needs-verify per spec §3.3. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011TfjZg26EBtRFEZeZHGceQ
…po rules now fail the audit The three lifecycle docs move to docs/archive/ with status: shipped, and every live pointer (ROADMAP.md's filing rule, the edit hook, /audit, the tool's header) follows them. youcoded PR #378 merged today and deleted the one stray .claude/rules/ fork, so audit-anchors.mjs turns strayRuleDirs from a WARN into a failure (result.ok now includes it) and the 2026-09-01 audit report's residue drops to 0. native-runtime.md trimmed two words for budget margin. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011TfjZg26EBtRFEZeZHGceQ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 2 of
docs/active/plans/2026-09-01-roadmap-restructure-tooling.md— the migration itself.ROADMAP.mdbecomes an index; the backlogs aredocs/roadmap/<area>.md; closed items live indocs/roadmap/shipped.md.What the tool says on the tip commit (
node scripts/roadmap-check.mjs --fix): structure clean · 103 claim anchors checked, 0 broken · 19 decisions waiting on Destin · index rewritten.How it was done: 19 agents (13 areas + native-harness by sublevel) each re-classified their items by the filing test and re-checked them against today's code; 96 new reports under
docs/active/investigations/carry one claim anchor each, every regex tested to match exactly once. 19 items closed on evidence. The coordinator placed ~40 items that crossed areas.Companion PR: itsdestin/youcoded#378 (the sub-repo's "see ROADMAP" pointers).
Still to do before merge (Destin's pass, spec §6.3.3): answer the 19
decisionitems and the could-not-verify list in the session; answers are applied as a follow-up commit. The "Where the app stands" paragraphs are a draft for him to edit.Two tool quirks found by the migration, not in the spec:
checkAnchormatches without themflag (a^incontainsonly matches line 1) andharvestDocAnchorsstrips backtick spans before parsing (a backtick insidecontainsis deleted). Seven anchors were rewritten around them; worth a note in the spec or a fix in the tool.🤖 Generated with Claude Code
https://claude.ai/code/session_011TfjZg26EBtRFEZeZHGceQ
Audit (spec §6.3.7):
docs/audits/2026-09-01.md— mechanical pass green, twelve rules re-verified against code, 62 doc corrections across three repos, one residue item (flipstrayRuleDirsto a failure after youcoded #378 merges). Companion docs PRs: itsdestin/youcoded#378, itsdestin/wecoded-marketplace#81.