Skip to content

lore: lore/implementation-loop/issue-1510 - #1684

Open
lore-agent[bot] wants to merge 3 commits into
mainfrom
lore/implementation-loop/issue-1510
Open

lore: lore/implementation-loop/issue-1510#1684
lore-agent[bot] wants to merge 3 commits into
mainfrom
lore/implementation-loop/issue-1510

Conversation

@lore-agent

@lore-agent lore-agent Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Three packages — apps/cluster-agent, apps/event-router, and apps/vscode-extension — each had a vitest.config.ts and a populated test suite that no CI job ran. A regression in any of them would sail through PR review undetected, because nothing asked the question.

This PR closes that gap in two commits that follow the same red-green-refactor shape the DoD required: a failing guard first, then the CI additions that make it pass.

The guard (scripts/check-ci-coverage.test.mjs) scans apps/ and libs/ for directories that have both a vitest.config.ts and a package.json, then checks .github/workflows/pr-checks.yml for either the relDir string or the package name. Any directory that has a test config but no CI entry is reported in the assertion failure message, so a future developer who adds a new subproject without wiring a CI job sees an actionable failure rather than silent green. The test runs as part of the existing scripts matrix entry (find scripts -name '*.test.mjs' -print0 | xargs -0 node --test), so it gates every PR at no extra workflow cost.

The guard is linked from specs/testing-standards/spec.md requirement 3 ("Attributable CI") at specs/testing-standards/spec.md:36. The link target is scripts/check-ci-coverage.test.mjs#L38, which is correct after this branch.

The CI additions add three entries to the pr-checks.yml matrix, each with a build: npm run build -w @re-cinq/lore-shared pre-step (the three packages import from the compiled shared library) and the workspace-scoped npm test command. The entries sit next to the lint job at line 215, keeping the matrix in alphabetical order.

The DoD strategy was "direct" — the real files on disk are the seams, and the test calls the real entry points with no mocks. No deviation from that strategy.

Acceptance test: scripts/check-ci-coverage.test.mjs::"every package with a vitest.config.ts has a CI job in pr-checks.yml" — was red before the CI additions, green after.

scripts/check-ci-coverage.test.mjs fails now because
apps/cluster-agent, apps/event-router, and apps/vscode-extension
each declare a vitest.config.ts but appear in no pr-checks.yml
test matrix entry. The guard passes once all three are wired up.

Links specs/testing-standards requirement 3 (Attributable CI).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 30, 2026

Copy link
Copy Markdown

🔍 Lore Spec Impact

Examined 4 changed file(s): 0 had graph data (no coupling found), 3 had none — no ingested test run covers them, so this check cannot speak for them. Also read 1 changed spec/ADR at statement level. 1 changed statement(s) had no validating test, so no coverage broke. 1 new statement(s) have no test link yet.

Deterministic · graph @ b079b26 (projected 2026-08-31) · no tests run by this check

…cks matrix

All three packages declare a vitest.config.ts but had no CI job, so their
suites ran locally but never on a PR. Each depends on @re-cinq/lore-shared
so the build step mirrors the other app-level entries.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lore-agent

lore-agent Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Lore implementation-loop run failed (failed — node "validate" failed: validation failed: lint

$ lint
/workspace/target/scripts/check-ci-coverage.test.mjs
17:3 error Expected blank line before this statement @stylistic/padding-line-between-statements
20:5 error Expected blank line before this statement @stylistic/padding-line-between-statements
25:5 error Expected blank line before this statement @stylistic/padding-line-between-statements
26:33 error Expected { after 'if' condition curly
28:7 error Expected blank line before this statement @stylistic/padding-line-between-statements
28:58 error Expected { after 'if' condition curly
30:7 error Expected blank line before this statement @stylistic/padding-line-between-statements
30:37 error Expected { after 'if' condition curly
32:7 error Expected blank line before this statement @stylistic/padding-line-between-statements
35:3 error Expected blank line before this statement @stylistic/padding-line-between-statements

✖ 10 problems (10 errors, 0 warnings)
10 errors and 0 warnings potentially fixable with the --fix option.) — 5aaaa237-026a-4347-babe-7022e8310324.

@lore-agent

lore-agent Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Lore implementation-loop run failed (iteration_max — AssemblyLine implementation-loop: node "validate" failed: validation failed: lint

$ lint
/workspace/target/scripts/check-ci-coverage.test.mjs
17:3 error Expected blank line before this statement @stylistic/padding-line-between-statements
20:5 error Expected blank line before this statement @stylistic/padding-line-between-statements
25:5 error Expected blank line before this statement @stylistic/padding-line-between-statements
26:33 error Expected { after 'if' condition curly
28:7 error Expected blank line before this statement @stylistic/padding-line-between-statements
28:58 error Expected { after 'if' condition curly
30:7 error Expected blank line before this statement @stylistic/padding-line-between-statements
30:37 error Expected { after 'if' condition curly
32:7 error Expected blank line before this statement @stylistic/padding-line-between-statements
35:3 error Expected blank line before this statement @stylistic/padding-line-between-statements

✖ 10 problems (10 errors, 0 warnings)
10 errors and 0 warnings potentially fixable with the --fix option. — the validate->tdd-round retry budget (2) is spent) — bd09723f-e8d3-4424-827c-55ba19f6b3de.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lore-agent
lore-agent Bot marked this pull request as ready for review August 31, 2026 12:34
@lore-agent

lore-agent Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Lore implementation-loop run failed (failed — node "ready-for-review" failed: BackoffLimitExceeded: Job has reached the specified backoff limit — The pod died rather than the work failing — a crash, an OOM, an eviction, or a Job deadline. Re-running is the right response; check pod events if it repeats.) — 52c3fdd5-88a3-4d66-a2fe-134a89d30fd6.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants