You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Croco documents and implements a stable diagnostic-code contract, but some CLI diagnostics still emit slash-form identifiers such as doctor/... and usage-dashboard/.... That splits the diagnostic surface and makes it harder for docs, agents, and support tooling to recognize failures consistently.
Evidence
docs/troubleshooting/diagnostics.md describes stable diagnostics in the CROCO_<AREA>_<NNN> shape.
packages/diagnostics-core/src/libs/DiagnosticCodes.ts defines the diagnostic code pattern and registry primitives.
packages/cli/src/commands/doctor.ts emits slash-form codes such as doctor/workspace-not-found, doctor/workspace-packages-empty, doctor/repository-core-drizzle-boundary, doctor/lambda-telemetry-flush-missing, and doctor/workspace-package-invalid.
packages/cli/src/commands/generateUsageDashboard.ts uses generated Problem codes such as usage-dashboard/tenant-required.
Closed issue dx: CROCO_* 진단 코드와 수정 예시를 표준화한다 #871 established the diagnostic code system; this is the follow-up migration for concrete CLI producers.
Desired outcome
CLI diagnostics use the stable CROCO_* registry consistently, while any legacy aliases are deliberate, documented, and tested.
Proposed implementation
Inventory CLI commands that emit diagnostics or generated Problem codes.
Assign registered CROCO_* codes for the current slash-form CLI diagnostics.
Preserve backward compatibility only through explicit aliases if existing consumers depend on old codes.
Update troubleshooting docs and tests so examples match the stable code format.
Add a regression check that prevents new slash-form CLI diagnostic codes from entering the CLI surface unintentionally.
Acceptance criteria
CLI diagnostic outputs use registered CROCO_* codes for known failure modes.
Tests cover doctor and usage-dashboard diagnostic output.
Documentation examples match emitted codes.
Legacy slash-form codes are either removed or explicitly mapped as aliases with a migration note.
Validation
Run CLI command tests.
Run diagnostics-core tests.
Run a targeted static check or grep-based fixture proving no unregistered slash-form CLI diagnostic codes remain.
Scope boundaries
This should not redesign the diagnostics subsystem. It should migrate current CLI producers onto the existing stable-code contract.
Priority
P2
Problem
Croco documents and implements a stable diagnostic-code contract, but some CLI diagnostics still emit slash-form identifiers such as
doctor/...andusage-dashboard/.... That splits the diagnostic surface and makes it harder for docs, agents, and support tooling to recognize failures consistently.Evidence
docs/troubleshooting/diagnostics.mddescribes stable diagnostics in theCROCO_<AREA>_<NNN>shape.packages/diagnostics-core/src/libs/DiagnosticCodes.tsdefines the diagnostic code pattern and registry primitives.packages/cli/src/commands/doctor.tsemits slash-form codes such asdoctor/workspace-not-found,doctor/workspace-packages-empty,doctor/repository-core-drizzle-boundary,doctor/lambda-telemetry-flush-missing, anddoctor/workspace-package-invalid.packages/cli/src/commands/generateUsageDashboard.tsuses generated Problem codes such asusage-dashboard/tenant-required.Desired outcome
CLI diagnostics use the stable
CROCO_*registry consistently, while any legacy aliases are deliberate, documented, and tested.Proposed implementation
CROCO_*codes for the current slash-form CLI diagnostics.Acceptance criteria
CROCO_*codes for known failure modes.Validation
Scope boundaries
This should not redesign the diagnostics subsystem. It should migrate current CLI producers onto the existing stable-code contract.