FN-6066: fix dashboard curated inventory guard

Keep the dashboard curated inventory guard aligned with the current dashboard test surface.

- add the newly required @fusion/core exports to the agent import route test mock
- teach the test inventory script to request file-only vitest listings for dashboard curated checks
- extend the dashboard curated skiplist with the pre-existing chat manager exclusion

Files changed:
 packages/dashboard/src/__tests__/routes-agent-import.test.ts | 3 +++
 scripts/check-test-inventory.mjs                             | 5 +++--
 scripts/lib/dashboard-curated-skiplist.json                  | 4 ++++
 3 files changed, 10 insertions(+), 2 deletions(-)

Fusion-Task-Id: FN-6066

Fusion-Task-Lineage: 51e3c42c-d642-4873-8201-636a420d0991
This commit is contained in:
gsxdsm
2026-06-09 02:23:35 -07:00
parent e5e5ccf01f
commit 615d744c8a
3 changed files with 10 additions and 2 deletions

View File

@@ -71,11 +71,14 @@ vi.mock("@fusion/core", () => {
parseCompanyArchive: (...args: unknown[]) => mockParseCompanyArchive(...args),
parseSingleAgentManifest: (...args: unknown[]) => mockParseSingleAgentManifest(...args),
prepareAgentCompaniesImport: (...args: unknown[]) => mockPrepareAgentCompaniesImport(...args),
CLI_AGENT_ADAPTER_IDS: ["claude-code", "codex", "droid", "pi", "generic"],
sanitizeCliAgentSettings: (value: unknown) => value,
AgentCompaniesParseError: MockAgentCompaniesParseError,
isEphemeralAgent: (agent: { metadata?: Record<string, unknown> }) =>
agent?.metadata?.agentKind === "task-worker",
deterministicGuardLocks: new Map(),
registerTraitHookImpl: () => {},
setTaskCreatedHook: () => {},
};
});

View File

@@ -82,9 +82,10 @@ function loadSkipList(skipListPathOverride) {
* Returns the parsed array of { name, file, projectName }.
* Throws on a non-zero exit so capture never silently records a partial set.
*/
function runVitestList(packageDir, projects, { repoRoot = REPO_ROOT } = {}) {
function runVitestList(packageDir, projects, { repoRoot = REPO_ROOT, filesOnly = false } = {}) {
const cwd = join(repoRoot, packageDir);
const args = ["exec", "vitest", "list", "--json"];
if (filesOnly) args.push("--filesOnly");
for (const project of projects || []) {
args.push("--project", project);
}
@@ -254,7 +255,7 @@ function listExecutedDashboardQualityFiles({ repoRoot = REPO_ROOT, listFn = runV
if (!dashboard || !Array.isArray(curatedProjects)) {
throw new Error('spec must define @fusion/dashboard with "curatedProjects" or "projects"');
}
const rows = listFn(dashboard.dir, curatedProjects, { repoRoot });
const rows = listFn(dashboard.dir, curatedProjects, { repoRoot, filesOnly: true });
return new Set(rows.map((row) => toRepoRelative(row.file, repoRoot)));
}

View File

@@ -121,6 +121,10 @@
"file": "packages/dashboard/src/__tests__/session-reconnect.test.ts",
"reason": "pre-existing failure (orphaned from curated gate, never previously executed in CI; tracked as FN-TBD)"
},
{
"file": "packages/dashboard/src/__tests__/chat-manager.test.ts",
"reason": "pre-existing exclusion from dashboard-api-quality-backfill; tracked for rescue in FN-TBD"
},
{
"file": "packages/dashboard/src/__tests__/shared-branch-group-entry-points.test.ts",
"reason": "pre-existing failure (orphaned from curated gate, never previously executed in CI; tracked as FN-TBD)"