Archilyzer · Source

archilyzer

Archilyzer
git clone https://archilyzer.pages.dev/source/archilyzer.git
Log | Files | Refs | README | LICENSE

commit dd464eb13679b9ee3a829af493003952776355aa
parent e731f8af332d4f39550f284c8f9e0ff60cbca048
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Mon, 14 Sep 2026 17:05:24 -0400

plans: Phase 3 slice 1 sub-slice A shipped — the view layer exists and the guard sees it

Record for b0cca40..e731f8a: allow-list 11 -> 10, six divergences, gate numbers.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

Diffstat:
Mplans/one-core-phase-3.md | 45+++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+), 0 deletions(-)

diff --git a/plans/one-core-phase-3.md b/plans/one-core-phase-3.md @@ -325,3 +325,48 @@ undone). Filled in as sub-slices ship: sha range, actual gate numbers, every divergence from this plan. + +### A — shipped 2026-09-14 + +Branch `one-core/phase-3-s1a` off `1faa987`, four commits `91b06b3` → `8c43231`, +fast-forwarded onto `main`; worktree and branch deleted. **Allow-list 11 → 10, nothing +added. No rendering change, no route path moved.** + +| commit | what | +|---|---| +| `91b06b3` | the guard sees `views/`: `FORBIDDEN` rows, `ROOTS`, the `StreamActionLog` entry burned, `BARE_FORBIDDEN` + `bareEdges()`, the textual ban; `views/inputs.ts`, `views/streamAction.ts` (+ compile-time assignability test), `editor/app/lib/liveInputs.ts`; exports map and test globs; corpus-walk test widened | +| `bc070b3` | `views/pipeline/{band,buildBands,stageStatus,channelFlow,tone}.ts` + 3 tests, imports rewritten relative, every importer repointed | +| `44c65e9` | `views/{laneState,jobRowView,jobRows,channelGroupSections,builtInPresets}.ts` + 3 tests; `builtInPresets.test.ts` stays in the editor | +| `8c43231` | review fix: the assignability assertion was a DISTRIBUTIVE conditional (`A extends B`), so a non-assignable union member collapsed to `true | never` = `true`; now `[A] extends [B]` | + +Gates (worktree #2): tsc clean after every commit; common **1224/1224** (1159 + 62 moved + 3 +new); editor unit **59/59**; editor and export `next build` clean; e2e subset of 16 specs +(`channel-groups, channel-line, channels-counts, channel-stage-selection, channel-work, +dashboard-paths, dashboard, jobs-active-order, jobs-batch-tasks-drain, jobs-channel, +jobs-filters, jobs-reorder, jobs-retry, jobs, pipeline, widget`) **92 passed, exit 0** in +4.6 min. `common/views/` holds 19 files, 4,420 lines (2,755 non-test, of which 2,662 moved). + +Divergences, each because the code said so: + +1. **The plan file is its own commit (`1faa987`) on `main`**, not part of A1, so every + worktree branches with it in-tree. +2. **The pulse route's `declare global` block was deleted, not moved.** + `common/jobs/{registry,scheduler,workerPool}.ts` already declare the three globals; the + route's copy only existed to spell `ReturnType<typeof …>`. C4 finishes the route. +3. **`liveInputs.ts` does not import `getChannelBriefs`.** `LiveInputs` has no briefs field; + shells that need briefs import `./requestCache` themselves (C's status shell and + `widget/lib/syncInputs.ts`). +4. **`buildBands.test.ts`'s `StateBand.tsx` guard reads across the package boundary** + (`readFileSync` of `editor/app/components/pipelines/StateBand.tsx`, textual, not an + import). Kept: it is the check that catches a client module exporting a callable helper, + which `next build` does not. +5. **A repointed three files the conflict table assigns to B/C** — `operations/lanes.ts`, + `buildActiveJobs.ts:27-39`, `operations/components/{OperationRail,OperationDetail,railStates}` + — one import line each; B and C fork from A's tip, so no conflict. +6. `views/inputs.ts` comments reworded so no banned name appears with its parenthesis (the + plan's trap, hit as predicted). + +Seen once and not caused here: `controller/relocateChannelMedia.test.ts` "out @ swap: crash +before the rename" failed on one run (`2 file(s) still differ (first: .d..t...... ./)`, an +rsync directory-mtime race) and passed on the immediate re-run. A pre-existing flake; if it +recurs it gets its own note in FACTS.