@@ -21,22 +21,28 @@ the product surface or changing successful-path report semantics.
2121 decisions.
2222- AC-02 (#12 ): Workspace-scoped Qoder analysis excludes home-only sessions that
2323 have no verified relationship to the requested workspace across sessions,
24- events/show, facets, insights, file-reads, and usage-summary.
24+ events/show, facets, insights, file-reads, and usage-summary. A matching
25+ record cannot authorize foreign-cwd records from the same home session, and
26+ cwd-less records require a workspace-linked session source instead of being
27+ assigned to the requested workspace. An explicit global-capability pass can
28+ retain home-only sessions only as ` user-global ` evidence.
2529- AC-03 (#13 ): ` report --no-sessions ` executes no session probe and always uses
2630 the static ` software-fluency ` route even when local sessions exist.
2731- AC-04 (#14 ): Blast-radius collection distinguishes an invalid/unavailable
2832 base ref from a real empty diff and returns an explicit fail-closed error.
29- - AC-05 (#15 ): review-trigger argument and runtime failures exit non-zero while
30- successful findings retain their documented non-blocking result.
31- - AC-06 (#16 ): ` report --cwd ` rejects missing and non-directory targets before
32- starting evidence collectors; valid-directory fallback behavior remains
33- available.
33+ - AC-05 (#15 ): review-trigger argument, Git worktree probes, and runtime
34+ failures exit non-zero while successful findings retain their documented
35+ non-blocking result.
36+ - AC-06 (#16 ): ` report --cwd ` rejects empty, missing, and non-directory targets
37+ before starting evidence collectors; valid-directory fallback behavior
38+ remains available.
3439- AC-07 (#17 ): findings repair never lowers ` Critical ` or arbitrary unknown
3540 severity to ` Medium ` ; unsupported values fail closed or use an explicit
3641 conservative mapping.
3742- AC-08 (#18 ): Git-backed cloc never follows a tracked path to a target outside
38- the repository or reads a non-regular file; skipped results remain bounded
39- and do not reveal the external target.
43+ the repository, reads a non-regular file, or reads a regular file beyond the
44+ configured size boundary; skipped results remain bounded and do not reveal
45+ the external target.
4046- AC-09: Focused tests, the full Node test suite, package verification, syntax
4147 checks, and review-readiness checks pass on Linux-compatible local tooling;
4248 cross-platform path behavior remains covered by portable fixtures.
@@ -56,15 +62,16 @@ the product surface or changing successful-path report semantics.
56621 . Add failing regression tests for each issue before changing implementation.
57632 . Normalize Secret Guard tool events once, then scan only the content fields
5864 owned by matched write tools.
59- 3 . Apply one workspace-ownership predicate to Qoder home-session discovery and
60- hydration, keeping explicit global behavior separate.
61- 4 . Make quickstart privacy and cwd validation explicit at its CLI boundary.
65+ 3 . Apply workspace ownership at both Qoder home-session discovery and per-event
66+ hydration, keeping explicit ` user-global ` behavior separate.
67+ 4 . Make quickstart privacy and empty/missing cwd validation explicit at its CLI
68+ boundary.
62695 . Replace Git diff ambiguity with a structured failure from blast-radius
6370 collection.
64- 6 . Separate review-trigger execution failure from successful non-blocking
65- findings.
66- 7 . Make severity repair conservative and make cloc file reads type- and
67- containment-aware.
71+ 6 . Separate review-trigger argument, Git-probe, and execution failures from
72+ successful non-blocking findings.
73+ 7 . Make severity repair conservative and make cloc file reads type-, size-,
74+ and containment-aware.
68758 . Run focused tests per module, then the complete repository checks.
69769 . Perform independent code-review and architecture lanes, address all
7077 Critical/High findings and any architectural Block, then run Review
@@ -85,26 +92,31 @@ Decision rationale:
8592 ` node --test test/agent-guardrails-secret-scan.test.mjs `
8693- AC-02:
8794 ` node --test test/session-analysis.test.mjs test/session-usage-summary.test.mjs `
95+ including mixed-cwd, cwd-less, and explicit user-global home-session cases
8896- AC-03 and AC-06:
8997 ` node --test test/harness-quickstart.test.mjs test/better-harness-cli.test.mjs `
9098- AC-04:
9199 ` node --test test/blast-radius.test.mjs `
92100- AC-05:
93- ` node --test test/review-trigger.test.mjs `
101+ ` node --test test/review-trigger.test.mjs ` , including a non-Git directory
94102- AC-07:
95103 ` node --test test/harness-findings-repair.test.mjs test/harness-report-render-cli.test.mjs `
96104- AC-08:
97- ` node --test test/cloc.test.mjs `
105+ ` node --test test/cloc.test.mjs ` , including an oversized regular file
98106- AC-09:
99107 ` npm test `
100108 ` npm run pack:verify `
101109 ` node --test test/doc-link-graph.test.mjs `
102110
103111Review evidence:
104112
105- - ` npm run check ` passed with 852 tests and package verification.
106- - The final blocker-focused run passed 68 tests across Secret Guard,
107- review-trigger, blast-radius, and cloc; syntax and diff checks also passed.
113+ - Review follow-up (2026-07-29): mixed-cwd and cwd-less home-session hydration,
114+ explicit user-global analysis, failed Git worktree probes, empty ` --cwd= ` ,
115+ and bounded cloc reads are covered by regressions and resolved before merge.
116+ - ` npm run check ` passed with the full Node suite and package verification.
117+ - The review follow-up focused run passed 80 tests across Qoder session
118+ analysis, session usage summary, review-trigger, quickstart, and cloc;
119+ syntax and diff checks also passed.
108120- Code-reviewer recommendation: ` APPROVE ` after both reported High findings
109121 were fixed and re-reviewed.
110122- Architect status: non-blocking ` WATCH ` ; the previous fail-open ` BLOCK ` was
0 commit comments