fix(templates): route WorkBuddy to the portable HTML report - #31
Conversation
The WorkBuddy host adapter shipped claiming self-contained HTML + Markdown output in the adapter matrix, docs site, and CHANGELOG 0.4.0, but templates/reporting/routing.md never listed WorkBuddy in the Portable HTML report route, so agents on WorkBuddy were never routed to the shipped output. Add WorkBuddy to the route, update the two hard-coded host-list assertions, and add a derived support-declaration check so every matrix host claiming portable HTML output must appear in the routing row (one-directional, so a pending durable-report gap can drop the matrix claim first). Spec: docs/specs/2026-07-30-routing-workbuddy-host.md. Validated red-green (the new check fails with 'missing matrix HTML host: WorkBuddy' on the old routing.md) and with the full suite: 1019 pass / 0 fail on Node 22.20.0. Co-authored-by: QoderAI (Qwen 3.8 Max) <qoder_ai@qoder.com>
Add the Unreleased Fixed entry for the routing.md WorkBuddy route and the derived support-declaration check, keeping the PR checklist's CHANGELOG requirement satisfied. Validated with npm test (1019 pass / 0 fail) and npm run pack:verify (354 npm entries, 377 runtime zip entries). Co-authored-by: QoderAI (Qwen 3.8 Max) <qoder_ai@qoder.com>
|
I found one issue worth fixing before merge: P2 — compare route hosts as exact entries, not substrings In routeHosts.includes(host)This does not prove that the matrix host is actually listed as a distinct route host. I reproduced the false positive by changing the routing row from That leaves AC-3 and the PR's "impossible to omit" claim weaker than stated, and matches the substring risk already called out in the PR description. Please parse the declared host list into normalized tokens/a set and compare exact values, then add a regression case for a prefix collision such as Relevant code: better-harness/test/support-declarations.test.mjs Lines 138 to 141 in 55d44cc |
Close the substring-matching hole in the WorkBuddy routing guard so a prefix such as WorkBuddy Enterprise cannot satisfy the WorkBuddy declaration. Tighten the duplicated route assertions and update docs/specs/2026-07-30-routing-workbuddy-host.md with the exact-entry regression contract. Validated with the focused 31-test routing and documentation suite, the full npm test suite on Node 22.20.0, and npm run pack:verify (354 npm entries and 377 runtime ZIP entries). Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
|
Addressed the exact-entry review gap in Validation passed: focused routing/docs suite 31/31, full |
The WorkBuddy host adapter shipped claiming self-contained HTML + Markdown
output in the adapter matrix, docs site, and CHANGELOG 0.4.0, but
templates/reporting/routing.mdnever listed WorkBuddy in the Portable HTMLreport route, so agents on WorkBuddy were never routed to the shipped output.
Summary
Agents running on the WorkBuddy host are now routed to the shipped
self-contained HTML + Markdown report output. A new derived
support-declaration check makes it impossible to add a matrix host claiming
portable HTML output without listing it in the report routing row.
Why
adapter (
4b871d9, CHANGELOG 0.4.0), which claims portable HTML routingis implemented while the routing switchboard never listed WorkBuddy.
the matrix and docs already promise; maintainers get a consistency test
that catches this class of omission for every future host.
Traceability and Scope
docs/specs/2026-07-30-routing-workbuddy-host.md(both hard-coded assertions updated), AC-3 (derived one-directional
matrix-to-routing check), AC-4 (full suite and doc-link-graph pass)
templates/reporting/routing.md(reportrouting switchboard); guarding tests in
test/better-harness-skill.test.mjs,test/style-templates.test.mjs,test/support-declarations.test.mjs;CHANGELOG.mdUnreleased entrydurable-report gap stays tracked by the in-flight A-05 PR and roadmap
HA-03); no new WorkBuddy capability, output mode, or renderer change
Change Type
Test and Review Evidence
node --test test/support-declarations.test.mjswith the oldrouting.mdrestoredPortable HTML report route is missing matrix HTML host: WorkBuddynode --test test/support-declarations.test.mjs(with fix)WorkBuddyvsWorkBuddy Enterprise)WorkBuddyas missing; focused routing/docs suite 31/31 passnode --test test/better-harness-skill.test.mjsnode --test test/style-templates.test.mjsnode --test test/doc-link-graph.test.mjsnode scripts/doc-link-graph/cli.mjs skills/better-harnessproduces zero diffnpm test(Node 22.20.0 / npm 10.9.3)npm run pack:verifygit merge-treeManual or visual evidence: parsed host sets printed and inspected —
htmlHostsresolves to exactly the seven matrix hosts claimingself-contained HTML + Markdown(Qoder'sbetter-harnessoutput correctlyexcluded), and the routing row captures all of them.
Risk and Recovery
change plus test updates. No runtime code changed.
templates/ships inthe npm package, so the published routing table gains WorkBuddy;
npm run pack:verifypasses. No schema or generated files change;doc-link graph regenerated with zero diff.
ef16c6b,55d44cc,4cddf91); no data or state migration involved.route entries and compared exactly, including a prefix-collision regression.
The check remains deliberately one-directional and does not force routing-row
removal when a matrix claim is dropped. No live WorkBuddy runtime smoke was
run; validation is source, fixture, and test evidence.
AI Involvement
test behavior, the full-suite results, and the pack verification before
push.
Checklist
AGENTS.md,CONTRIBUTING.md, and the relevant canonical-owner guidance.CHANGELOG.md.