Repository navigation
docs: add Team Scout's testing/tooling half of the gap backlog - #37714
Conversation
Items 6-10, into Jose's existing file rather than a second document, per his
request. Same format as items 1-5: heading with S/M/L size, then what is missing
and why it matters, backed by measurement rather than impression.
6. .claude/skills/ — 14,052 lines across 23 skills, the largest AI-context
surface in the repo, assigned to no team and read by no milestone. The split
gives Scout .claude/commands/ (629 lines), which are wrappers: create-issue.md
is 5 lines pointing at a 630-line skill. Auditing the commands audited the
pointers. A fabrication turned up on the first spot-check — dot-cicd-diagnose
gives -Dtest= for a class that needs -Dit.test=, and names a method that does
not exist.
7. 86 integration test classes that exist and never run in CI (632 registered
against 693 concrete), accumulated since January 2024. Not an active leak —
0 of the last 33 went unregistered — so this is triage, not mechanism.
8. Nothing checks whether a doc's claims are true. Nine surfaces found with
fabricated content this Rock, every one by reading. Includes the sharper
variant CICD_PIPELINE.md showed, where the prose was accurate and only the
copyable YAML was invented, and the fact that the failure reproduced inside a
PR whose purpose was removing fabrications.
9. No upkeep process for .cursor/rules/ and .claude/commands/. The fixes merged;
the reason they drifted did not.
10. The split omitted 10 files, confirmed with Jose. Second occurrence after
docs/integration/ — a process finding, and the argument for the index and
reachability check in #37578 rather than a better manual split.
Title and intro updated to cover both halves; Next Steps records the merge as
done and flags items 4 and 8 as promotion candidates rather than plain entries.
Refs #37580, #37129
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Claude finished @fabrizzio-dotCMS's task in 3m 36s —— View job Review — factual verification of the backlog additionsSince this document's own thesis (item 8) is that every checkable claim in an AI-context file must resolve against source, I resolved each checkable claim in the diff against the tree. All but one reproduce exactly. Verified accurate:
I did not re-run the 693/632/86 integration-test figures (they require building the suite lists in CI); they're attributed to the #37590 script and already caveated as trend figures in the thread. New Issues
No other issues. This is a careful, well-sourced entry; the single correction above is the only claim in the diff that doesn't currently reproduce. |
Found after the first draft (#37715). It adds a second variant worth designing against, and a naive "does this symbol exist" check would miss it: e2e-rules.mdc was not invented from nothing but duplicated from AGENTS.md and then drifted. Every symbol in it resolved; the guidance was still wrong — always data-testid, never CSS, against a source of truth that puts getByRole first and permits CSS in the Dojo iframe where data-testid does not exist. And the Cursor rule auto-loads while the doc has to be opened deliberately, so the stale copy won by default. Item 8's surface count goes from four files under .cursor/rules/ to five. Item 9 gains it as the clearest case of the missing upkeep process, and now notes that the reachability check from #37578 covers docs/ but not these two directories. Refs #37580, #37579 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Review caught the backlog asserting a state the tree does not have: items 8 and 9 said e2e-rules.mdc "was folded into a 50-line pointer in #37715", past tense, while #37715 is still open and this branch is cut from Jose's, so the file here is still 223 lines with the src/config/ block that does not exist. That is precisely the failure class items 8 and 9 describe — a claim that reads as verified and resolves against nothing — reproduced inside the document arguing against it. Third time this pattern has appeared in my own work on this Rock, after the API_TESTING overlap asserted from a filename and the invented getLivenessResponse() in #37666. Both places now mark #37715 as open, and item 9 keeps the finding in present tense: until it merges, the contradiction is still what Cursor loads on every spec edit. The merged fixes it lists alongside (#37590, #37629) were verified against the tree and are correctly past tense. Refs #37580, #37579 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Correct, and it's the failure class the document is about — reproduced inside the document. Fixed in e1cfeb8. #37715 is open. This branch is cut from Both places now mark it as open, and item 9 keeps the finding in present tense — until that merges, the contradiction is still what Cursor loads on every spec edit, which is the more useful thing for the entry to say anyway. Worth recording that this is the third time the pattern has appeared in my own work on this Rock: an overlap claim asserted from a filename rather than the file, an invented On the item 7 arithmetic — agreed, and thank you for working through it rather than flagging it as a subtraction error. The 25-name gap between registered and concrete is suite entries that aren't concrete |
Same failure class as the last fix, found by checking rather than by review this time. Four places described the reachability check and the rebuilt index as existing: "the reachability check (#37578) catches unreachable files", "the reachability check added in #37578 covers docs/", "docs/README.md rebuilt as a complete index of all 54 files (#37578)", and "the automated reachability check added in #37578, which runs on every PR touching docs/". #37578 is the issue. Its PR is #37709, which is approved and not merged, so none of that is on main. A backlog arguing that AI-context claims must resolve against real source cannot itself assert a tree state that does not exist. All four now name #37709 and its actual status, and item 10 keeps the point in present tense: until it lands, nothing prevents the next omission. That is the more useful thing for the entry to say. Also updated what has landed since drafting: #37664 and #37721 merged, so docs/cli/, docs/claude/ and docs/test-cases/ are resolved, leaving only the loose docs/core/ file needing an owner. Every figure in items 6-7 re-verified against main today: 14,052 skill lines, 23 SKILL.md, 629 lines across .claude/commands/, 5 lines for create-issue.md against 630 for the skill it wraps, 632 registered / 693 concrete / 86 never run, and the dot-cicd-diagnose fabrication still present at ISSUE_TEMPLATE.md:90. Refs #37580 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
fce5826
into
docs-37129-backend-gap-backlog
Team Scout's half of the M4 gap backlog, into your file rather than a second document as you asked. Items 6–10, same format as yours.
Targets
docs-37129-backend-gap-backlog, so it merges into #37697 before that goes for review.What's in it
6.
.claude/skills/— L. The one I'd draw your attention to. 14,052 lines across 23 skills, which makes it the largest AI-context surface in the repo — bigger thandocs/backend/,docs/testing/anddocs/core/combined — and it is in neither team's slice. The split gives Scout.claude/commands/, 629 lines, but those are wrappers:create-issue.mdis 5 lines saying "use thedot-issue-manageskill", and that skill is 630. Auditing the commands in M1 audited the pointers, not the payload.Governance exists (
CATALOG.md,skill-lint.mjs, a CI gate) but validates naming, frontmatter and catalog freshness — not whether the content is true. A fabrication turned up on the first spot-check:dot-cicd-diagnose/ISSUE_TEMPLATE.md:90says to run./mvnw test -Dtest=ContentTypeAPIImplTest#testCreateContentType. The method doesn't exist in that class, and the class is indotcms-integration, so it needsverify ... -Dit.test=— the same-Dtest=error you found inINTEGRATION_TESTS.mdduring M3, alive in a surface no milestone covered.7. 86 integration tests that never run in CI — M. 632 classes registered against 693 concrete, measured by the script from #37590. Not an active leak: 0 of the last 33 added went unregistered, so the MainSuite rule is holding. This is standing backlog since January 2024, and it needs triage rather than mechanism — each one is dead code, redundant coverage, or a real subsystem silently untested.
8. Nothing checks whether a doc is true — M. Nine surfaces with fabricated content across this Rock, every one found by reading.
CICD_PIPELINE.md(#37711) showed a variant worth designing against: the prose was accurate — phase model, zero-trust design, artifact strategy all matched — and only the YAML blocks were invented, which is the part a reader copies. And the failure reproduced inside #37666, a PR whose entire purpose was removing fabrications; the replacement example stubbed a method that doesn't exist, caught in review rather than by any tool.I've suggested a cheap first cut in the entry: resolving every
ClassName,#method,-Dflagand Maven profile named in an AI-context file against the source tree would have caught seven of the nine. Compiling fenced blocks is the expensive option and probably not where to start.9. No upkeep process for
.cursor/rules/and.claude/commands/— S. The fixes merged; the reason they drifted didn't. Nothing makes a change todocs/testing/prompt a look attest-context.mdc.10. The split omitted 10 files — S. Your confirmation on Sep 21 is recorded. Second occurrence after
docs/integration/, which is why it's written as a process finding.docs/cli/is resolved — Scout took it, and auditing before linking turned up the Java language level stated as 21 against a pom pinned to 11 (#37664). Still needing an owner:docs/claude/,docs/test-cases/, and the loosedocs/core/file — that last one is the question I sent you.Also changed
Title and intro now cover both halves, and Next Steps records the merge as done. I flagged two items as promotion candidates rather than plain backlog entries: your item 4, since a silently-skipped upgrade task is the same failure class as the MainSuite rule and you'd already made that argument, and item 8, since it is the gap that let every fabrication in this Rock reach
main.Adjust or drop anything that reads as overreach into your half — it's your file.
🤖 Generated with Claude Code
Refs #37580 (Scout M4) and #37129 (Falcon M4), under epic #37124. Targets a feature branch rather than
main, so no closing keyword — #37580 closes when the merged backlog has been reviewed with the team, not when this lands.