Files
msd-core/scripts/lint-test-file-count.allowlist.json
Tom Boucher caca4d255c feat(#985): intel command cutover — commands-only capability, last first-party family (ADR-857 phase 4d-impl-4) (#988)
* feat(#985): intel command cutover — commands-only capability, last first-party family (ADR-857 phase 4d-impl-4)

Migrate the intel CLI command family from a hardcoded gsd-tools.cjs case arm to
a registry-dispatched Capability (commandFamilies mechanism, #961), mirroring
the graphify (#972) and audit (#984) cutovers. New src/intel-command-router.cts
exports routeIntelCommand reproducing all 9 subcommands verbatim (incl. the
status timeAgo non-raw post-processing), lazily requiring intel.cjs inside the
route fn. capabilities/intel/capability.json declares the intel command family;
commands-only (skills:[]), declares the existing intel.enabled gate (default
false — behavior unchanged).

Behavior-CHANGING (dispatch path) but equivalence-proven: CLI output identical;
existing intel.test.cjs passes unchanged. Completes the first-party command-
family cutover sequence (graphify/audit/intel).

Closes #985

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* test(#985): compute expected planningDir via path.join in intel cutover unit tests (Windows CI)

The intel-command-cutover unit-mock assertions hardcoded a POSIX `/.planning`
expectation while the router builds it with path.join(cwd, '.planning') →
backslashes on Windows, so the planningDir-arg assertions (query/status/diff/
snapshot/validate/update/api-surface) failed only on windows-latest CI. Compute
the expectation with path.join (cross-platform); production router unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 10:00:30 -04:00

150 lines
4.9 KiB
JSON

{
"_doc": "Baseline of modules currently exceeding the 2-test-file limit. Each entry locks in TODAY's exact test filenames as the allowlisted set (identity ratchet). Adding a NEW test file to a capped module fails (novel). Removing one requires pruning this list (stale, ratchet-down). When a cluster drops to ≤ 2, remove its entry entirely. New entries require justification in PR description.",
"modules": {
"audit": {
"files": [
"audit-command-cutover.test.cjs",
"audit-fix-command.test.cjs",
"bug-2659-audit-open-crash.test.cjs",
"bug-2836-audit-open-summary-uat-drift.test.cjs",
"bug-2911-audit-open-output-shape.test.cjs"
],
"issue": "192"
},
"config": {
"files": [
"bug-2943-config-get-context-window-default.test.cjs",
"bug-321-config-defaults-clone-strategy.test.cjs",
"bug-3227-config-set-model-overrides.test.cjs",
"bug-442-config-dir-equals-in-path.test.cjs",
"config-field-docs.test.cjs",
"config-get-default.test.cjs",
"config-schema.property.test.cjs",
"config.test.cjs"
],
"issue": "TBD"
},
"graphify": {
"files": [
"bug-622-graphify-optional-graph-html.test.cjs",
"graphify-auto-update.slow.test.cjs",
"graphify-command-cutover.test.cjs",
"graphify-query.test.cjs",
"graphify-visualization.test.cjs",
"graphify.test.cjs"
],
"issue": "622"
},
"intel": {
"files": [
"bug-2351-intel-kilo-layout.test.cjs",
"bug-3290-intel-updater-layout-block.test.cjs",
"intel-command-cutover.test.cjs",
"intel.test.cjs"
],
"issue": "TBD"
},
"milestone": {
"files": [
"bug-730-milestone-phase-details-scope.test.cjs",
"milestone-archive.test.cjs",
"milestone-helper.test.cjs",
"milestone-prefixed-convention.test.cjs",
"milestone-summary.test.cjs",
"milestone.test.cjs"
],
"issue": "TBD"
},
"phase": {
"files": [
"bug-214-phase-researcher-write-truncation-contract.test.cjs",
"phase-dependency-levels.test.cjs",
"phase.test.cjs"
],
"issue": "597"
},
"roadmap": {
"files": [
"bug-2661-roadmap-sync-parallel.test.cjs",
"bug-3128-roadmap-plan-count-slug-layout.test.cjs",
"bug-3599-roadmap-get-phase-project-code-prefix.test.cjs",
"enh-2447-roadmap-wave-deps.test.cjs",
"roadmap-mode-field.test.cjs",
"roadmap-phase-fallback.test.cjs",
"roadmap.test.cjs"
],
"issue": "TBD"
},
"runtime-artifact-layout": {
"files": [
"runtime-artifact-layout-install-profiles.test.cjs",
"runtime-artifact-layout-surface.test.cjs",
"runtime-artifact-layout.test.cjs"
],
"issue": "TBD"
},
"security": {
"files": [
"security-prompt-injection.security.test.cjs",
"security-scan.security.test.cjs",
"security.test.cjs"
],
"issue": "TBD"
},
"state": {
"files": [
"bug-21-state-md-template-frontmatter.test.cjs",
"bug-2630-state-frontmatter-milestone-switch.test.cjs",
"bug-3127-state-begin-phase-idempotent.test.cjs",
"bug-3242-state-update-progress-trample.test.cjs",
"bug-3286-state-write-routing.test.cjs",
"bug-3454-state-dollar-backreference-growth.test.cjs",
"bug-397-state-preserve-executor-authored.test.cjs",
"bug-905-state-syncstatefrontmatter-preserve-scalars.test.cjs",
"bug-948-state-noop-write-guard.test.cjs",
"state-acquirestatelock-non-eexist.test.cjs",
"state-prune.test.cjs",
"state.test.cjs"
],
"issue": "180"
},
"verify": {
"files": [
"bug-2969-verify-reapply-patches.test.cjs",
"bug-2994-verify-reapply-patches-installed-path.test.cjs",
"bug-3381-verify-work-workstream.test.cjs",
"bug-3657-verify-reapply-patches-pristine-drift.test.cjs",
"verify-health.test.cjs",
"verify-mvp-uat.test.cjs",
"verify-npm-publish.test.cjs",
"verify-test-quality.test.cjs",
"verify-work-auto-transition.test.cjs",
"verify.test.cjs"
],
"issue": "3767"
},
"install": {
"files": [
"bug-410-install-defaults-test-mode-guard.test.cjs",
"enh-776-install-gemini-hook-events.test.cjs",
"install-minimal-hooks.test.cjs",
"install-nested-layout.test.cjs",
"install-path-detection.test.cjs",
"install-regressions.test.cjs",
"install-runtime-artifacts.test.cjs",
"install-update-marker.test.cjs",
"install.test.cjs"
],
"issue": "TBD"
},
"validate": {
"files": [
"bug-3129-validate-commit-git-bypass.test.cjs",
"bug-892-validate-checklist-roadmap-phases.test.cjs",
"validate-context.test.cjs"
],
"issue": "892"
}
}
}