Skip to content

Commit b7859d5

Browse files
committed
Checkpoint authoritative task and graph workspaces
Complete the verified M18 authoritative task workspace, add the M19 immutable graph runtime, authenticated GraphService and production GWC graph/inspector mount, and checkpoint the green M20 risk, validation-profile, test-selection, baseline, and validation-run foundations. M19 live browser regressions remain recorded and unchecked. Change-Log: CL-20260731-069 Dev-Log: DL-20260731-070 Dev-Log: DL-20260731-071
1 parent 196869d commit b7859d5

244 files changed

Lines changed: 46675 additions & 2528 deletions

File tree

Some content is hidden

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

‎CHANGELOG‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,31 @@ Dev-Log:
3030

3131
Entries
3232
-------
33+
Change-ID: CL-20260731-069
34+
Date: 2026-07-31
35+
Type: Authoritative live task workspace
36+
Request-or-TODO: M18-001 through M18-070 and M18-G01 through M18-G05
37+
Outcome: Added the atomic session task projection, seven-state delivery model,
38+
idempotent live task and recovery commands, exact budget/cost presentation,
39+
complete task-state action matrix, diagnostics cursor, and content-free local
40+
frontend telemetry through the typed Go/GWC workspace.
41+
Affected-behavior: A selected session replays from a sequence-bound SQLite
42+
snapshot before controls become live, repairs gaps and invalidations through
43+
the same snapshot boundary, retains drafts and command keys through uncertain
44+
outcomes, and exposes only server-owned task correctness facts. All supported
45+
controls traverse the authenticated gRPC bridge; unavailable future actions
46+
are disabled before activation with accessible reasons.
47+
Compatibility-or-migration: Adds migrations 000018 and 000019 for bounded
48+
frontend telemetry and crash-repair projection notifications; extends the
49+
protobuf task/session/settings/recovery contracts and generated Go sources.
50+
No handwritten JavaScript, TypeScript, HTML, or CSS source is added.
51+
Verification: Full Go tests, vet, generation, lint, migration, artifact, WASM,
52+
diff, and source-boundary checks pass. The fixed loopback runtime passes all
53+
260 Chromium checks plus live visual inspection, real message settlement,
54+
GWC client routing, telemetry modal/delete, responsive, graph, keyboard,
55+
focus, replay, repair, recovery, budget, and task-state matrix evidence.
56+
Dev-Log: DL-20260731-070
57+
3358
Change-ID: CL-20260731-068
3459
Date: 2026-07-31
3560
Type: Authoritative conversation workspace

‎DEVLOG‎

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,124 @@ Next-safe-step:
2424

2525
Entries
2626
-------
27+
Dev-Log: DL-20260731-071
28+
Date: 2026-07-31
29+
Status: In progress
30+
Change-ID: Pending CL-20260731-070
31+
Request-or-TODO: M19-001 through M19-108 and M19-G01 through M19-G04;
32+
user required the graph to be dynamic, interactive, visually meaningful by
33+
node purpose, fully observable through the fixed live GWC UI, and tested.
34+
Goal: Deliver a task-scoped, derived, read-only program/execution/evidence graph
35+
with immutable revisions, bounded SQLite queries, deterministic stable layout,
36+
accessible interaction, bidirectional chat linkage, and explicit inspection.
37+
Assumptions: Chat remains the control surface; graph identity is distinct from
38+
revision identity; server-issued project/task/repository IDs bound every read;
39+
sessions without graph evidence render an honest empty graph; `design/` stays
40+
user-owned and excluded.
41+
Decisions: Normalize durable task facts through a typed semantic seam rather
42+
than infer structure from redacted display text; commit graph changes only for
43+
material facts; keep token deltas revision-free; use schema-versioned immutable
44+
revisions, typed metadata only, bounded continuation queries, deterministic
45+
SCC-aware left-to-right layout, and authored Go/GWC SVG interaction.
46+
Files-or-schemas: In progress across internal graph/domain projection, migration
47+
000020, SQLite graph query repository, graph layout, typed GraphService bridge,
48+
GWC authoritative graph canvas, inspector, and performance/browser evidence.
49+
Validation: Domain, projection, migration, storage query, layout, graphcanvas,
50+
web frontend, WASM, vet, lint, generation, and artifact checks are being run
51+
per tranche; repeated layout-query tests are green after deterministic fixture
52+
correction. M18's fixed-port 260-check browser gate remains green.
53+
Failures-or-discarded-approaches: Adversarial review rejected topology commits
54+
not bound to the exact pending candidate, CSS-pixel transforms applied to a
55+
fixed SVG viewBox, selection strokes that erased status encoding, dangling
56+
tabpanel relationships, and production-only legacy graph data. Those findings
57+
now have concrete code fixes or active integration ownership.
58+
Known-limitations: The authoritative graph is not complete until the typed
59+
service is mounted in the production shell and inspector/performance/browser
60+
gates pass against the rebuilt fixed-port runtime.
61+
Next-safe-step: Finish GraphService mounting and inspector/benchmark tranches,
62+
run combined gates, visually inspect the live authoritative graph, mark only
63+
evidence-backed TODOs, commit, push, and verify public CI.
64+
65+
Dev-Log: DL-20260731-070
66+
Date: 2026-07-31
67+
Status: Complete
68+
Change-ID: CL-20260731-069
69+
Request-or-TODO: M18-001 through M18-070 and M18-G01 through M18-G05;
70+
user required uninterrupted completion, a fixed live GWC UI, backend-owned
71+
state, four-agent implementation, full interaction testing, and marked TODOs.
72+
Goal: Deliver authoritative task projection, seven-state connection certainty,
73+
idempotent task controls, exact cost/budget presentation, calm recovery, and
74+
local content-free telemetry through the existing Go/GWC workspace.
75+
Assumptions: The selected server-issued thread/session/task identities remain
76+
the only authority; unknown pricing and absent recovery evidence must remain
77+
unknown; the untracked user-owned `design/` tree remains excluded.
78+
Decisions: Keep the fixed server on 127.0.0.1:63131; use GWC resource and
79+
lifecycle hooks rather than any React model; project only ordered SQLite
80+
events; add an authoritative TaskService read path; disable mutations while
81+
sequence certainty is unresolved; retain browser-local drafts across replay.
82+
Files-or-schemas: Frontend session/task reducers, GWC client resources and
83+
controls, coordinator/transport task reads, frontend telemetry, migrations
84+
000018 and 000019, browser acceptance fixtures, and directly affected tests.
85+
Client mutation settlement now covers pause, resume, stop, exact budget,
86+
preserve patch, reconcile, safe resume, and composer send. The diagnostics
87+
route now receives the identity-checked mounted session projection and shows
88+
its content-free last applied durable sequence, including distinct unknown,
89+
known-zero, replay, live, and gap-repair states.
90+
The production composer now renders every §27C Draft-through-Rolled-back row
91+
from `taskprojection.AvailableTaskActions`; implemented commands share the
92+
mounted callbacks, while later-milestone actions are inert and carry exact
93+
accessible disabled reasons. TaskView is query metadata only: task identity,
94+
lifecycle, revisions, budget, recovery, and action availability come solely
95+
from the accepted session task projection.
96+
Validation: Focused composer/session/task packages pass. Live browser selection
97+
and a second real composer send passed through the gRPC bridge; its durable
98+
message event cleared and re-enabled the composer without a page refresh.
99+
The eight-row production mutation contract test, `go test ./web/...`, the
100+
js/wasm client build, and `go test ./...` pass. M18-G02 is satisfied for
101+
pause, resume, stop, and budget change. M18-014 targeted client, shell, state,
102+
and frontend tests pass; both client and browser-fixture WASM builds pass;
103+
mounted Chromium verifies sequence 0 through replay/disconnect, sequence 1
104+
during gap repair, and repaired sequence 3 through replay/live/disconnect.
105+
Native client/projection/action/composer/primitives tests and both WASM builds
106+
pass. Mounted Chromium exhaustively verifies all 14 §27C rows, exact action
107+
membership/order, real supported callbacks, pre-click disabled reasons,
108+
`aria-describedby`, and keyboard focus retention after activation.
109+
M18-052 is now backed by a typed, atomically cursor-bound
110+
GetSessionSnapshot path from SQLite through authenticated gRPC; reconnect and
111+
invalidation repair re-enter only through ApplySessionSnapshot, while ordered
112+
delivery enters only through ApplySessionEvent. Focused event, storage,
113+
transport, coordinator, reducer, session-client, web-client, and WASM checks
114+
pass, including delayed session binding, crash-boundary backfill, every event
115+
category, sequence-gap repair, complete review bindings, and metadata-only
116+
TaskView regression coverage.
117+
Final production evidence includes 260/260 Chromium checks against the fixed
118+
127.0.0.1:63131 runtime, visual inspection of the live selected-session
119+
workspace, a real gRPC-bridge message commit, GWC navigation without document
120+
reload, responsive rail selection, telemetry deletion confirmation/cancel,
121+
retained approval command identity, graph controls, and accessibility/focus.
122+
Failures-or-discarded-approaches: The live TaskService GetTask probe exposed an
123+
unimplemented server method; a composer RPC/event settlement race left the
124+
first send busy until its GWC dependency included ordered event and attempt
125+
state. No React or useEffect source exists in the frontend. Rejected adapting
126+
the current TaskView directly into the session projection: GetTask has no
127+
atomic session cursor, omits approval, validation, and complete recovery
128+
facts, and the corresponding production task writes do not yet append those
129+
session events. Such an adapter would preserve the existing double authority
130+
while merely hiding it behind ApplySessionSnapshot. Per-row raw event
131+
closures caused unstable GWC handler identity, so the action surface uses one
132+
stable value-dispatch handler. Animated disclosure made pointer actionability
133+
timing flaky in mounted Chromium; the acceptance test now activates focused
134+
enabled buttons by keyboard and asserts the resulting focus and invocation.
135+
The final browser loop also corrected stale fixture assumptions: root
136+
restoration is stateful, mutation checks select a durable session, graph fit
137+
has its own computed zoom, rapid settlement need not expose a busy frame, and
138+
responsive thread-rail closure is verified through its real control.
139+
Known-limitations: The graph shown for sessions without authoritative graph
140+
data is intentionally empty rather than fabricated. Later M19 work supplies
141+
derived graph revisions, queries, and accessible interactive projection.
142+
Next-safe-step: Commit and push M18 with its complete evidence, then continue
143+
M19 graph projection, query, layout, interaction, inspection, and benchmarks.
144+
27145
Dev-Log: DL-20260731-069
28146
Date: 2026-07-31
29147
Status: Complete

0 commit comments

Comments
 (0)