Skip to content

Error Codes

Every error raised by nubos-pilot is a NubosPilotError with a stable code string, a human-readable message, and an optional details object. Callers (workflows, plan-checker, test suites) match on err.code verbatim, never on the message.

js
class NubosPilotError extends Error {
  constructor(code, message, details) {
    super(message);
    this.name = 'NubosPilotError';
    this.code = code;
    this.details = details;
  }
}

The codes below are grouped by source module.

Core / lifecycle

CodeSourceMeaning
not-in-projectlib/core.cjsprojectStateDir(cwd) could not find a .nubos-pilot/ ancestor.
lock-timeoutlib/core.cjswithFileLock could not acquire the lock within timeoutMs.
unknown-commandnp-tools.cjsTop-level dispatch received an unrecognized command name.
unknown-init-workflownp-tools.cjsinit <workflow> dispatched to an unregistered workflow.

Layout / IDs

CodeSourceMeaning
layout-invalid-numberlib/layout.cjsMilestone/slice/task number is not a non-negative integer.
layout-invalid-idlib/layout.cjsID string does not match the expected shape (M<NNN>, S<NNN>, T<NNNN>, or M<NNN>-S<NNN>[-T<NNNN>]).
layout-invalid-sluglib/layout.cjsSlug does not match /^[a-z0-9-]+$/.
layout-slice-slug-mismatchlib/layout.cjsExisting slice directory has a slug different from the one requested.

Roadmap / milestone

CodeSourceMeaning
roadmap-parse-errorlib/roadmap.cjsroadmap.yaml unreadable or invalid YAML.
roadmap-too-largelib/roadmap.cjsroadmap.yaml exceeds 1 MB cap.
roadmap-invalid-milestonelib/roadmap.cjsMilestone input missing id.
roadmap-duplicate-milestonelib/roadmap.cjsMilestone id already exists.
roadmap-milestone-not-foundlib/roadmap.cjsReferenced milestone id does not exist.
roadmap-invalid-sluglib/roadmap.cjsPhase slug (legacy schema) missing or invalid.
roadmap-invalid-descriptionlib/roadmap.cjsBacklog description empty or contains YAML separator pattern.
roadmap-description-too-longlib/roadmap.cjsBacklog description exceeds 500 chars.
phase-not-foundlib/roadmap.cjsgetPhase(n) — no milestone with that number/id.

Tasks

CodeSourceMeaning
tasks-invalid-frontmatterlib/tasks.cjsTask frontmatter missing required field or wrong type.
tasks-invalid-statuslib/tasks.cjsstatus value not in {pending, in-progress, done, skipped, parked}.
tasks-invalid-tierlib/tasks.cjstier value not in {haiku, sonnet, opus}.
tasks-invalid-ownerlib/tasks.cjsowner value not recognized.
tasks-unknown-deplib/tasks.cjsdepends_on references a task id that does not exist in the graph.
tasks-cycliclib/tasks.cjsloadTaskGraph detected a dependency cycle.
task-frontmatter-missinglib/tasks.cjsTask file has no frontmatter block at all.
task-status-line-missinglib/tasks.cjsTask body has no status: line where one is required.
invalid-task-statuslib/tasks.cjsStatus transition violates the lifecycle state machine.
task-not-foundlib/tasks.cjsTask id not present in the loaded graph / directory.

Agents

CodeSourceMeaning
agent-not-foundlib/agents.cjsloadAgent(name) could not find agents/<name>.md.
agent-invalid-frontmatterlib/agents.cjsRequired field missing, or name does not match filename stem.
agent-forbidden-fieldlib/agents.cjsFrontmatter contains model, model_profile, or hooks.
agent-invalid-tierlib/agents.cjstier value not in {haiku, sonnet, opus}.
invalid-tierlib/model-profiles.cjsresolve-model was given an invalid tier.
invalid-profilelib/model-profiles.cjsresolve-model was given an invalid model_profile.

Git / commit

CodeSourceMeaning
commit-paths-invalidlib/git.cjsassertCommittablePaths rejected the input shape.
commit-all-paths-gitignoredlib/git.cjsAll paths in files_modified are gitignored (hard-fail).
commit-no-pathslib/git.cjsCommit invoked with an empty path list.
task-commit-not-foundlib/git.cjsfindCommitByTaskId found no matching commit.
list-task-commits-invalidlib/git.cjslistTaskCommits given an empty/invalid prefix.

State / config

CodeSourceMeaning
schema-version-mismatchlib/state.cjsSTATE.md schema version does not match the runtime expectation.
config-parse-errorbin/np-tools/config.cjsconfig.json is not valid JSON.
config-forbidden-keybin/np-tools/config.cjsDotted key path contains a forbidden segment.
config-invalid-keybin/np-tools/config.cjsDotted key segment violates /^[a-zA-Z0-9_-]+$/.

Templates

CodeSourceMeaning
template-not-foundlib/template.cjsTemplate file missing.
template-unresolved-varlib/template.cjs placeholder has no answer key.

Verify / validate

CodeSourceMeaning
verify-file-unreadablelib/verify.cjsVERIFICATION.md cannot be read at the expected path.
verify-milestone-dir-missinglib/verify.cjs/np:verify-work <N> invoked on a milestone that has no directory yet.
verify-work-invalid-phasebin/np-tools/verify-work.cjsMilestone argument not a positive integer.
verify-work-not-foundbin/np-tools/verify-work.cjsMilestone id not in roadmap.yaml.
verify-work-invalid-sc-idbin/np-tools/verify-work.cjsrecord-sc SC id not of the form SC-<N>.
verify-work-invalid-statusbin/np-tools/verify-work.cjsSC status not Pass / Fail / Defer / Pending.
verify-work-file-unreadablebin/np-tools/verify-work.cjsrecord-sc before emit-draft.
verify-work-sc-not-foundbin/np-tools/verify-work.cjsSC id absent from the draft VERIFICATION.md.

Output-schema enforcement (ADR-0017)

CodeSourceMeaning
output-schema-violationlib/output-lint.cjs::enforceFile, bin/np-tools/output-lint.cjs check --enforce, bin/np-tools/doctor.cjs::_checkOutputSchemasOutput artefact failed schema lint. Inspect the violations[] array — re-spawn the producing agent with the diff as feedback. Never hand-edit.
output-schema-not-foundlib/schemas/index.cjs::getSchemaUnknown schema name passed to output-lint. Run output-lint list to see registered names.
output-lint-missing-filebin/np-tools/output-lint.cjs check--file <path> argument missing or empty.
output-lint-missing-schemabin/np-tools/output-lint.cjs prompt--schema <name> argument missing.
output-lint-cannot-infer-schemabin/np-tools/output-lint.cjs checkFilename does not match a known artefact pattern (*-VERIFICATION.md, *-VALIDATION.md, *-RESEARCH.md, spawn-*.md); pass --schema explicitly.
output-lint-unknown-verbbin/np-tools/output-lint.cjsVerb not in `check

Data-schema validation

Persistent data stores are validated on read against versioned JSON schemas in lib/schemas/data/<name>.json via lib/validate.cjs. Object stores (learnings.json, codebase/.hashes.json, checkpoints/<task>.json) hard-fail on a violation under each store's own corruption code, with the validator's errors[] attached to details. JSONL/append-only stores (memory/records.jsonl, metrics/*.jsonl, messages/inbox/*.json) and self-healing manifests instead validate-and-skip — a schema-invalid line is dropped (and counted/logged), never thrown, preserving their lenient read contract. The codes below come from the validation and migration layer itself; per-store corruption codes are listed under each store's section.

CodeSourceMeaning
data-schema-not-foundlib/validate.cjs::_loadSchemaUnknown or malformed data-schema name passed to validate/assertValid. No lib/schemas/data/<name>.json exists (or the name failed the ^[a-z0-9][a-z0-9.\-]*$ guard). Indicates a code bug, not corrupt data.
data-schema-corruptlib/validate.cjs::_loadSchemaA shipped lib/schemas/data/<name>.json file is not valid JSON. Indicates a broken release artefact.
data-migration-invalidlib/migrate.cjs::runMigratorsDefault code when a store migrator chain produces a shape that fails its target schema and the caller passed no store-specific code. Store callers (e.g. learnings) override this with their own corruption code.
checkpoint-corruptlib/checkpoint.cjs::_assertCompatibleSchemaA checkpoints/<task>.json body violates checkpoint.v1 (e.g. files_touched not an array, nubosloop not an object) after the version check passed. Back up + remove the checkpoint to start fresh.
messages-invalid-recordlib/messaging.cjs::sendWriter self-check: a message constructed by send() failed message.v1 before write. Indicates a producer bug, not corrupt input. On read, schema-invalid message files are skipped silently.

Codebase graph

np:graph-impact reads the module dependency graph that np:scan-codebase writes to .nubos-pilot/codebase/.graph.json. All five codes are raised by bin/np-tools/graph-impact.cjs.

CodeSourceMeaning
graph-not-foundbin/np-tools/graph-impact.cjs.nubos-pilot/codebase/.graph.json does not exist. Run np:scan-codebase first.
graph-unreadablebin/np-tools/graph-impact.cjsThe graph file exists but is not valid JSON. Re-run np:scan-codebase to rebuild it.
graph-missing-targetbin/np-tools/graph-impact.cjsNo target given: pass --module <id> or --path <relpath> (or --cycles to list every cycle).
graph-path-unmappedbin/np-tools/graph-impact.cjsThe --path value resolves to a directory that owns no module in the graph.
graph-unknown-modulebin/np-tools/graph-impact.cjsThe --module id is not a node in the graph.

Project lifecycle / archive (ADR-0016)

CodeSourceMeaning
archive-no-projectlib/archive.cjs::archiveProjectPROJECT.md not present — nothing to archive.
archive-not-completelib/archive.cjs::archiveProjectProject status reports blockers; pass --force (or run /np:close-project first) to archive anyway. Manifest will record forced: true.
archive-worktrees-presentlib/archive.cjs::archiveProject.nubos-pilot/worktrees/ is non-empty. Clean up via /np:worktree-list / /np:worktree-remove, or pass --force.
archive-collisionlib/archive.cjs::archiveProjectMore than 99 archives for the same slug + date — should never happen in practice.
archive-path-escapelib/archive.cjs::readArchiveFileRelative path in archive-project read --rel escapes the archive directory. Path-traversal guard.
archive-invalid-project-statuslib/archive.cjs::setProjectStatusValue not in {active, completed}.
archive-read-missing-namebin/np-tools/archive-project.cjsread verb without --name <archive-dir>.
archive-read-missing-relbin/np-tools/archive-project.cjsread verb without --rel <relative-path>.
archive-project-unknown-verbbin/np-tools/archive-project.cjsVerb not in `status
close-project-unknown-verbbin/np-tools/close-project.cjsVerb not in `init
project-already-initializedbin/np-tools/new-project.cjs::_applyPROJECT.md exists and Phase -1 was not taken. Re-run with Phase -1 archive choice or resolve manually.

Researcher reconciliation (ADR-0018)

CodeSourceMeaning
researcher-spawn-missinglib/researcher-reconciler.cjs::parseSpawnOutputSpawn output file does not exist at the expected path.
researcher-spawn-frontmatterlib/researcher-reconciler.cjs::parseSpawnOutputSpawn output frontmatter unparseable — file likely violates researcher-output schema.
researcher-reconcile-no-research-dirlib/researcher-reconciler.cjs::prepareReconcilerInputNo research/ subdir under M<NNN>/. Stage 1 of the swarm did not run.
researcher-reconcile-no-spawn-fileslib/researcher-reconciler.cjs::prepareReconcilerInputresearch/ exists but contains no spawn-*.md files.
researcher-reconcile-no-finalbin/np-tools/researcher-reconcile.cjs gateM<NNN>-RESEARCH.md does not exist yet. Reconciler stage did not run or failed schema lint.
researcher-reconcile-invalid-milestonebin/np-tools/researcher-reconcile.cjsMilestone argument not a positive integer.
researcher-reconcile-missing-filebin/np-tools/researcher-reconcile.cjs parse-spawn--file <path> argument missing.
researcher-reconcile-unknown-verbbin/np-tools/researcher-reconcile.cjsVerb not in `parse-spawn

Undo / recovery

CodeSourceMeaning
undo-missing-prefixbin/np-tools/undo.cjs/np:undo called with no argument.
undo-invalid-prefixbin/np-tools/undo.cjsPrefix not a milestone number or M<NNN>[-S<NNN>].
undo-task-missing-idbin/np-tools/undo-task.cjs/np:undo-task invoked without a task id.
undo-task-invalid-idbin/np-tools/undo-task.cjsTask id format invalid.
undo-task-commit-not-foundbin/np-tools/undo-task.cjsNo task(<id>): commit in the repo.
reset-slice-invalid-task-idbin/np-tools/reset-slice.cjsExplicit task id argument malformed.
reset-slice-no-statebin/np-tools/reset-slice.cjsSTATE.md not readable — not inside a nubos-pilot project.
checkpoint-invalid-tasklib/checkpoint.cjsCheckpoint operation referenced an unknown task.
checkpoint-invalid-task-idlib/checkpoint.cjsTask id format invalid.

Nubosloop / loop-run-round (ADR-0010)

CodeSourceMeaning
loop-run-round-invalid-task-idbin/np-tools/loop-run-round.cjsFirst positional argument does not match M<NNN>-S<NNN>-T<NNNN>.
loop-run-round-missing-phasebin/np-tools/loop-run-round.cjs--phase flag missing.
loop-run-round-invalid-phasebin/np-tools/loop-run-round.cjs--phase not in {preflight, post-researcher, post-executor, post-critics, commit, stuck}.
loop-run-round-preflight-missing-querybin/np-tools/loop-run-round.cjs--phase preflight invoked without --query.
loop-preflight-already-stampedbin/np-tools/loop-run-round.cjs--phase preflight re-invoked on a task whose loop has already entered the round-1 body (Gap #9 from the 2026-05-05 review). Pass --force-preflight to override.
loop-post-researcher-missing-spawn-auditbin/np-tools/loop-run-round.cjs--phase post-researcher invoked without swarm.research.k np-researcher audit entries (k-of-k Layer-C gate).
loop-run-round-post-executor-missing-verifybin/np-tools/loop-run-round.cjs--phase post-executor invoked without --verify-exit-code.
loop-post-executor-missing-spawn-auditbin/np-tools/loop-run-round.cjsLayer-C: no executor / build-fixer audit entry for the round.
loop-run-round-verify-output-traversalbin/np-tools/loop-run-round.cjs--verify-output-path resolves outside cwd or TMPDIR.
loop-run-round-verify-output-unreadablebin/np-tools/loop-run-round.cjs--verify-output-path could not be read.
loop-run-round-post-critics-missing-outputsbin/np-tools/loop-run-round.cjs--phase post-critics invoked with neither --critic-outputs nor --critic-outputs-path.
loop-run-round-post-critics-missing-outputs-invalid-jsonbin/np-tools/loop-run-round.cjsInline --critic-outputs is not valid JSON.
loop-run-round-post-critics-invalid-outputsbin/np-tools/loop-run-round.cjs--critic-outputs parsed JSON is not an array.
loop-run-round-post-critics-conflicting-outputsbin/np-tools/loop-run-round.cjs(L5) Both --critic-outputs and --critic-outputs-path passed. Pick exactly one.
loop-run-round-critic-outputs-path-traversalbin/np-tools/loop-run-round.cjs(L5) --critic-outputs-path resolves outside cwd or TMPDIR.
loop-run-round-critic-outputs-path-unreadablebin/np-tools/loop-run-round.cjs(L5) --critic-outputs-path cannot be read.
loop-run-round-critic-outputs-path-invalid-jsonbin/np-tools/loop-run-round.cjs(L5) --critic-outputs-path content is not valid JSON.
loop-run-round-critic-outputs-path-invalid-shapebin/np-tools/loop-run-round.cjs(L5) --critic-outputs-path JSON is neither an object nor an array.
loop-post-critics-missing-critic-auditbin/np-tools/loop-run-round.cjsLayer-C: no np-critic audit entry for the round. Single-Critic Revision — exactly one audit, not three.
loop-commit-precondition-missingbin/np-tools/loop-run-round.cjsLayer-B: --phase commit invoked without prior verify-green AND empty findings array on the checkpoint. Pass --force-commit-phase to override.
loop-run-round-stuck-conflicting-findingsbin/np-tools/loop-run-round.cjs(L5) Both --findings and --findings-path passed to --phase stuck. Pick exactly one.
arg-invalid-jsonbin/np-tools/_args.cjsGeneric optional-JSON-flag parse failure.

Loop tool-use audit

CodeSourceMeaning
loop-audit-invalid-task-idbin/np-tools/loop-audit-tool-use.cjsFirst positional argument does not match M<NNN>-S<NNN>-T<NNNN>.
loop-audit-missing-agentbin/np-tools/loop-audit-tool-use.cjsAppend mode invoked without --agent.
loop-audit-missing-logbin/np-tools/loop-audit-tool-use.cjs--tool-use-log required for an AUDITED_AGENT (Rule 9).
loop-audit-invalid-logbin/np-tools/loop-audit-tool-use.cjs--tool-use-log is not a JSON array.
loop-audit-agent-is-modulebin/np-tools/loop-audit-tool-use.cjs--agent resolves to a module file (module: true) — modules cannot be audited as if they were spawnable.
nubosloop-unknown-routelib/nubosloop.cjsA finding's route is not in KNOWN_ROUTING_BUCKETS — typo in ROUTE_TABLE. Fail-loud.
nubosloop-invalid-task-idlib/nubosloop.cjsrecordLoopState given an empty / malformed task id.
nubosloop-preflight-invalid-querylib/nubosloop.cjspreflightCacheLookup given an empty / non-string query.
nubosloop-audit-invalid-task-idlib/nubosloop.cjsauditToolUse given a malformed task id.
nubosloop-audit-invalid-agentlib/nubosloop.cjsauditToolUse given an empty / non-string agent name.
nubosloop-audit-invalid-loglib/nubosloop.cjsauditToolUse given a non-array tool-use log.
nubosloop-auto-log-invalid-task-idlib/nubosloop.cjsautoLogLearning task id does not match the required shape.

Headless subprocess (Cost Layer L6)

Codes raised by spawn-headless — see ADR-0010 §L6.

CodeSourceMeaning
spawn-headless-missing-agentbin/np-tools/spawn-headless.cjs--agent flag missing.
spawn-headless-invalid-agent-namebin/np-tools/spawn-headless.cjs--agent must match /^[a-zA-Z0-9_-]+$/ — defends against path-injection.
spawn-headless-missing-prompt-pathbin/np-tools/spawn-headless.cjs--prompt-path flag missing.
spawn-headless-missing-output-pathbin/np-tools/spawn-headless.cjs--output-path flag missing.
spawn-headless-invalid-timeoutbin/np-tools/spawn-headless.cjs--timeout-ms is non-numeric or below 1000.
spawn-headless-path-traversalbin/np-tools/spawn-headless.cjs--prompt-path or --output-path resolves outside cwd or TMPDIR.
spawn-headless-agent-not-foundbin/np-tools/spawn-headless.cjsAgent file not in any of .nubos-pilot/agents/, .claude/agents/, or the package agents/.
spawn-headless-prompt-unreadablebin/np-tools/spawn-headless.cjs--prompt-path could not be read.
spawn-headless-claude-not-foundbin/np-tools/spawn-headless.cjsThe claude binary (or NUBOS_PILOT_CLAUDE_BIN override) is not on $PATH.
spawn-headless-spawn-failedbin/np-tools/spawn-headless.cjsGeneric subprocess spawn failure (other than ENOENT / ETIMEDOUT).
spawn-headless-timed-outbin/np-tools/spawn-headless.cjsSubprocess exceeded --timeout-ms (or spawn.headless.timeout_ms).

A non-zero subprocess exit (i.e. claude itself ran and returned non-zero) does NOT raise an error. It returns rc=2 with exit_code and stderr_excerpt on the JSON payload, so the caller can decide to fall back to the Agent-tool path (spawn.headless.fallback_on_error).

Off-host dispatch (ADR-0021)

Codes raised when an agent routes to an openai-compat provider via model_providers and agent_routing. See ADR-0021. Most are NubosPilotError and also appear in the generated index below. The three marked (CLI JSON) are not thrown; they come back as a {code,…} JSON envelope on stderr or the result payload, so they are documented only here.

CodeSourceMeaning
provider-undefinedlib/model-providers.cjsAn agent_routing entry (or model_providers.default) names a provider not defined in model_providers. Hard error at resolve time — never a silent fallback to Claude.
agent-routing-missing-providerlib/model-providers.cjsA routing entry has no provider field.
agent-routing-invalid-entrylib/model-providers.cjsA routing entry is not an object.
provider-invalid-kindlib/model-providers.cjsmodel_providers.<name>.kind is not native or openai-compat.
provider-model-unresolvedlib/model-providers.cjsNo pinned model in the routing entry and no models[<tier>] for that provider/tier.
dispatch-not-offhostlib/runtime/dispatch.cjsdispatchOffHost was called for an agent that resolves to a native provider — only openai-compat runs off-host.
offhost-audited-agent-unsupportedlib/runtime/dispatch.cjsA Rule-9-audited agent (np-executor/np-researcher/np-build-fixer) was dispatched off-host without a canonical --task-id (M<NNN>-S<NNN>-T<NNNN>) for the search-evidence ledger.
offhost-bash-requires-sandboxlib/runtime/dispatch.cjs--allow-bash was passed outside a slice worktree. Off-host Bash is confined to a worktree_isolation slice worktree only.
preflight-failedlib/runtime/preflight.cjsThe provider endpoint is unreachable, has no GET {base_url}/models, or does not list the requested model. Hint names the fix (e.g. ollama pull <model>). Aborts before any spawn — never mid-task.
provider-missing-api-keylib/runtime/providers/openai-compat.cjsThe env var named by api_key_env is empty or unset.
provider-http-error / provider-request-failedlib/runtime/providers/openai-compat.cjsThe provider returned a non-2xx response, or the request failed at the transport layer.
off-host-not-on-native-path (CLI JSON)bin/np-tools/resolve-model.cjsresolve-model <agent> resolved to an openai-compat provider, which the native claude spawn path cannot run. The message points at spawn-offhost. Detect routing without the refusal via resolve-model <agent> --kind.
spawn-offhost-task-file-unreadable (CLI JSON)bin/np-tools/spawn-offhost.cjsThe --task-file path could not be read.
spawn-headless-offhost-failed (CLI JSON)bin/np-tools/spawn-headless.cjsAn agent spawned via spawn-headless (security-reviewer / learnings-extractor) routed off-host and the dispatch failed. Returned as rc=2 with the code on the result envelope, mirroring the native non-zero-exit contract.

Two soft signals ride the off-host envelope as telemetry rather than thrown errors: a failed Rule-9 audit sets rule9.ok=false, and capability.ok=false warns that the model advertised tools but made zero tool-calls (usually a provider that doesn't support tool-calling). spawn-offhost prints both as a loud stderr hint, and neither aborts the run.

Plan-milestone / execute-milestone

CodeSourceMeaning
plan-milestone-invalid-argbin/np-tools/plan-milestone.cjsMilestone argument invalid.
plan-milestone-not-foundbin/np-tools/plan-milestone.cjsMilestone not in roadmap.yaml.
plan-milestone-unknown-verbbin/np-tools/plan-milestone.cjsUnknown subcommand verb.
execute-milestone-invalid-argbin/np-tools/execute-milestone.cjsMilestone argument invalid.
execute-milestone-not-foundbin/np-tools/execute-milestone.cjsMilestone not in roadmap.yaml.
execute-milestone-invalid-task-idbin/np-tools/execute-milestone.cjsTask full-id malformed.
execute-milestone-task-milestone-mismatchbin/np-tools/execute-milestone.cjsTask belongs to a different milestone.
execute-milestone-task-not-foundbin/np-tools/execute-milestone.cjsTask plan file absent on disk.
execute-milestone-unknown-verbbin/np-tools/execute-milestone.cjsUnknown subcommand verb.

Install / payload

CodeSourceMeaning
staging-mkdir-failedlib/install/staging.cjsStaging directory could not be created.
staging-clean-failedlib/install/staging.cjsStale staging cleanup failed.
staging-swap-failedlib/install/staging.cjsAtomic swap from staging into payload failed.
manifest-build-failedlib/install/manifest.cjsCould not enumerate / hash the staged tree.
manifest-invalid-structurelib/install/manifest.cjsManifest JSON shape is wrong.
manifest-parse-failedlib/install/manifest.cjsManifest file unreadable / unparseable.
manifest-write-failedlib/install/manifest.cjsManifest atomic write failed.
manifest-path-traversalbin/install.jsManifest path contains .. or is absolute.
target-is-symlinkbin/install.jsRefuses to write into a symlinked payload directory.
backup-source-missinglib/install/backup.cjsFile to back up does not exist.
backup-refuses-symlinklib/install/backup.cjsRefuses to back up a symlink.
backup-rename-failedlib/install/backup.cjsBackup rename failed.
agents-md-missing-noticelib/install/agents-md.cjsGenerated AGENTS.md is missing the managed notice.
agents-md-invalid-inputlib/install/agents-md.cjsBad input to generateAgentsMd.
codex-toml-invalid-inputlib/install/codex-toml.cjsCodex config.toml repair input is invalid.

Workflow-specific

CodeSourceMeaning
project-already-initializedbin/np-tools/new-project.cjs/np:new-project invoked when PROJECT.md already exists.
project-not-initializedbin/np-tools/new-milestone.cjs/np:new-milestone invoked before /np:new-project.
answers-missing-fieldbin/np-tools/{new-project,new-milestone}.cjsInterview answer file missing a required key.
answers-not-readablebin/np-tools/{new-project,new-milestone}.cjs--apply <answers.json> path unreadable.
answers-parse-errorbin/np-tools/{new-project,new-milestone}.cjsAnswer file is not valid JSON.
new-milestone-forbidden-writebin/np-tools/new-milestone.cjsInternal defensive guard — should never surface.
discuss-invalid-phase-argbin/np-tools/discuss-phase.cjsMilestone argument not a positive integer.
discuss-phase-not-foundbin/np-tools/discuss-phase.cjsMilestone id not in roadmap.yaml.
research-invalid-phase-argbin/np-tools/research-phase.cjsMilestone argument not a non-negative integer.
research-phase-not-foundbin/np-tools/research-phase.cjsMilestone id not in roadmap.yaml.
add-tests-invalid-phasebin/np-tools/add-tests.cjsMilestone argument not a positive integer.
add-tests-verification-missingbin/np-tools/add-tests.cjsNo VERIFICATION.md found — run /np:verify-work <N> first.

Complete code index

The sections above are curated, with a recovery hint per code. This index is the exhaustive list: every code string passed to new NubosPilotError(...) anywhere in lib/, bin/, or np-tools.cjs, mapped to the file(s) that raise it.

It is generated by scripts/generate-docs.cjs and verified by npm run docs:check, so a new or renamed error code that never reaches this table fails the docs check. Run npm run docs:generate after adding one. When a code lands here but not in a curated section above, that is the signal to write its recovery hint.

CodeSource
add-tests-invalid-phasebin/np-tools/add-tests.cjs
add-tests-phase-dir-missingbin/np-tools/add-tests.cjs
add-tests-unknown-verbbin/np-tools/add-tests.cjs
add-tests-verification-missingbin/np-tools/add-tests.cjs
add-todo-description-too-longbin/np-tools/add-todo.cjs
add-todo-empty-slugbin/np-tools/add-todo.cjs
add-todo-invalid-descriptionbin/np-tools/add-todo.cjs
add-todo-missing-descriptionbin/np-tools/add-todo.cjs
agent-forbidden-fieldlib/agents.cjs
agent-invalid-frontmatterlib/agents.cjs
agent-invalid-namelib/agents.cjs
agent-invalid-tierlib/agents.cjs
agent-loop-no-providerlib/runtime/agent-loop.cjs
agent-loop-no-toolsetlib/runtime/agent-loop.cjs
agent-not-a-modulelib/agents.cjs
agent-not-foundlib/agents.cjs
agent-not-spawnablelib/agents.cjs
agent-routing-invalid-entrylib/model-providers.cjs
agent-routing-missing-providerlib/model-providers.cjs
agents-md-invalid-inputlib/install/agents-md.cjs
agents-md-missing-noticelib/install/agents-md.cjs
answers-invalid-fieldbin/np-tools/new-milestone.cjs
answers-missing-fieldbin/np-tools/new-milestone.cjs, bin/np-tools/new-project.cjs, bin/np-tools/propose-milestones.cjs
answers-not-readablebin/np-tools/new-milestone.cjs, bin/np-tools/new-project.cjs, bin/np-tools/propose-milestones.cjs
answers-parse-errorbin/np-tools/new-milestone.cjs, bin/np-tools/new-project.cjs, bin/np-tools/propose-milestones.cjs
append-jsonl-embedded-newlinelib/core.cjs
append-jsonl-invalidlib/core.cjs
append-jsonl-line-too-largelib/core.cjs
append-jsonl-parent-unusablelib/core.cjs
append-jsonl-stringify-failedlib/core.cjs
archive-carry-path-invalidlib/archive.cjs
archive-collisionlib/archive.cjs
archive-copy-failedlib/archive.cjs
archive-invalid-project-statuslib/archive.cjs
archive-no-projectlib/archive.cjs
archive-not-completelib/archive.cjs
archive-path-escapelib/archive.cjs
archive-project-unknown-verbbin/np-tools/archive-project.cjs
archive-read-missing-namebin/np-tools/archive-project.cjs
archive-read-missing-relbin/np-tools/archive-project.cjs
archive-worktrees-presentlib/archive.cjs
arg-invalid-jsonbin/np-tools/_args.cjs
askuser-invalid-responselib/runtime/_readline.cjs
askuser-invalid-typelib/runtime/_readline.cjs
askuser-no-ttylib/runtime/_readline.cjs, lib/runtime/claude.cjs
backup-refuses-symlinklib/install/backup.cjs
backup-rename-failedlib/install/backup.cjs
backup-source-missinglib/install/backup.cjs
checkpoint-invalid-merge-fnlib/checkpoint.cjs
checkpoint-invalid-statusbin/np-tools/checkpoint.cjs
checkpoint-invalid-tasklib/checkpoint.cjs
checkpoint-invalid-task-idbin/np-tools/checkpoint.cjs, lib/checkpoint.cjs
checkpoint-missing-filebin/np-tools/checkpoint.cjs
checkpoint-path-traversallib/checkpoint.cjs
checkpoint-schema-mismatchbin/np-tools/resume-work.cjs
checkpoint-schema-version-corruptlib/checkpoint.cjs
checkpoint-schema-version-missinglib/checkpoint.cjs
checkpoint-unknown-verbbin/np-tools/checkpoint.cjs
checkpoint-version-mismatchlib/checkpoint.cjs
claude-hooks-script-missinglib/install/claude-hooks.cjs
claude-settings-invalid-jsonlib/install/claude-hooks.cjs
claude-settings-unreadablelib/install/claude-hooks.cjs
close-project-unknown-verbbin/np-tools/close-project.cjs
codex-toml-invalid-inputlib/install/codex-toml.cjs
commit-invalid-pathbin/np-tools/commit.cjs
commit-message-too-longbin/np-tools/commit.cjs
commit-no-pathslib/git.cjs
commit-path-outside-projectbin/np-tools/commit.cjs
commit-paths-invalidlib/git.cjs
commit-task-invalid-idbin/np-tools/commit-task.cjs
commit-task-loop-bypass-violationbin/np-tools/commit-task.cjs
commit-task-missing-idbin/np-tools/commit-task.cjs
commit-task-no-filesbin/np-tools/commit-task.cjs
commit-task-not-foundbin/np-tools/commit-task.cjs
config-forbidden-keybin/np-tools/config.cjs
config-invalid-economy-modelib/economy-mode.cjs
config-invalid-jsonlib/config.cjs
config-invalid-keybin/np-tools/config.cjs
config-invalid-shapelib/config.cjs
config-not-a-filelib/config.cjs
config-unreadablelib/config.cjs
data-schema-corruptlib/validate.cjs
data-schema-not-foundlib/validate.cjs
discuss-invalid-phase-argbin/np-tools/discuss-phase.cjs
discuss-phase-not-foundbin/np-tools/discuss-phase.cjs
discuss-project-answers-parse-errorbin/np-tools/discuss-project.cjs
discuss-project-answers-unreadablebin/np-tools/discuss-project.cjs
discuss-project-bootstrap-requires-projectbin/np-tools/discuss-project.cjs
discuss-project-cannot-refreshbin/np-tools/discuss-project.cjs
discuss-project-missing-fieldbin/np-tools/discuss-project.cjs
discuss-project-not-initializedbin/np-tools/discuss-project.cjs
discuss-project-project-unreadablebin/np-tools/discuss-project.cjs
discuss-project-proposed-reqs-unreadablebin/np-tools/discuss-project.cjs
dispatch-no-agentlib/runtime/dispatch.cjs
dispatch-not-offhostlib/runtime/dispatch.cjs
doctor-emit-failedbin/np-tools/doctor.cjs
economy-debt-invalid-categorylib/economy-debt.cjs
economy-debt-invalid-linelib/economy-debt.cjs
economy-debt-invalid-statuslib/economy-debt.cjs
economy-debt-missing-idlib/economy-debt.cjs
economy-debt-missing-notelib/economy-debt.cjs
economy-debt-not-foundlib/economy-debt.cjs
economy-debt-note-too-longlib/economy-debt.cjs
elision-entry-invalidlib/elision.cjs
elision-get-missing-hashbin/np-tools/elision-get.cjs
elision-hash-invalidlib/elision.cjs
elision-proxy-start-failedbin/np-tools/spawn-headless.cjs
elision-proxy-start-timeoutbin/np-tools/spawn-headless.cjs
eval-reliability-bad-codelib/eval-reliability.cjs
eval-reliability-no-runslib/eval-reliability.cjs
execute-milestone-invalid-argbin/np-tools/execute-milestone.cjs
execute-milestone-invalid-task-idbin/np-tools/execute-milestone.cjs
execute-milestone-missing-task-idbin/np-tools/execute-milestone.cjs
execute-milestone-not-foundbin/np-tools/execute-milestone.cjs
execute-milestone-task-milestone-mismatchbin/np-tools/execute-milestone.cjs
execute-milestone-task-not-foundbin/np-tools/execute-milestone.cjs
execute-milestone-unknown-verbbin/np-tools/execute-milestone.cjs
finalize-slice-not-foundbin/np-tools/execute-milestone.cjs
frontmatter-parse-errorlib/frontmatter.cjs
graph-missing-targetbin/np-tools/graph-impact.cjs
graph-not-foundbin/np-tools/graph-impact.cjs
graph-path-unmappedbin/np-tools/graph-impact.cjs
graph-unknown-modulebin/np-tools/graph-impact.cjs
graph-unreadablebin/np-tools/graph-impact.cjs
handoff-body-file-not-allowedbin/np-tools/handoff-write.cjs
handoff-body-file-read-failedbin/np-tools/handoff-write.cjs
handoff-frontmatter-missinglib/handoff.cjs
handoff-invalid-agentlib/handoff.cjs
handoff-invalid-statuslib/handoff.cjs
handoff-missing-idlib/handoff.cjs
handoff-missing-topiclib/handoff.cjs
handoff-not-foundlib/handoff.cjs
handoff-read-missing-idbin/np-tools/handoff-read.cjs
handoff-status-line-missinglib/handoff.cjs
handoff-status-missing-argsbin/np-tools/handoff-status.cjs
install-config-unusablebin/install.js
invalid-flagbin/install.js
invalid-operationbin/np-tools/propose-milestones.cjs
invalid-operation-typebin/np-tools/propose-milestones.cjs
invalid-profilelib/model-profiles.cjs
invalid-task-statuslib/tasks.cjs
invalid-tierlib/model-profiles.cjs
knowledge-adapter-unknownlib/knowledge-adapter.cjs
knowledge-search-missing-querybin/np-tools/knowledge-search.cjs
layout-invalid-idlib/layout.cjs
layout-invalid-numberlib/layout.cjs
learning-log-invalid-milestone-idbin/np-tools/learning-log.cjs
learning-log-invalid-task-idbin/np-tools/learning-log.cjs
learning-log-missing-argsbin/np-tools/learning-log.cjs
learning-match-missing-querybin/np-tools/learning-match.cjs
learnings-store-corruptlib/learnings.cjs
learnings-store-oversizedlib/learnings.cjs
learnings-store-unreadablelib/learnings.cjs
learnings-store-version-mismatchlib/learnings.cjs
list-task-commits-invalidlib/git.cjs
lock-timeoutlib/core.cjs
loop-commit-precondition-missingbin/np-tools/loop-run-round.cjs
loop-evaluate-file-unreadablebin/np-tools/loop-evaluate.cjs
loop-evaluate-invalid-inputbin/np-tools/loop-evaluate.cjs
loop-evaluate-invalid-jsonbin/np-tools/loop-evaluate.cjs
loop-evaluate-missing-inputbin/np-tools/loop-evaluate.cjs
loop-post-architect-missing-spawn-auditbin/np-tools/loop-run-round.cjs
loop-post-critics-missing-critic-auditbin/np-tools/loop-run-round.cjs
loop-post-critics-round-shiftedbin/np-tools/loop-run-round.cjs
loop-post-executor-missing-spawn-auditbin/np-tools/loop-run-round.cjs
loop-post-executor-round-shiftedbin/np-tools/loop-run-round.cjs
loop-post-researcher-missing-spawn-auditbin/np-tools/loop-run-round.cjs
loop-post-test-writer-missing-spawn-auditbin/np-tools/loop-run-round.cjs
loop-preflight-already-stampedbin/np-tools/loop-run-round.cjs
loop-preflight-missing-querybin/np-tools/loop-preflight.cjs
loop-run-round-critic-outputs-path-invalid-jsonbin/np-tools/loop-run-round.cjs
loop-run-round-critic-outputs-path-invalid-shapebin/np-tools/loop-run-round.cjs
loop-run-round-critic-outputs-path-unreadablebin/np-tools/loop-run-round.cjs
loop-run-round-internalbin/np-tools/loop-run-round.cjs
loop-run-round-invalid-phasebin/np-tools/loop-run-round.cjs
loop-run-round-missing-phasebin/np-tools/loop-run-round.cjs
loop-run-round-post-critics-conflicting-outputsbin/np-tools/loop-run-round.cjs
loop-run-round-post-critics-invalid-outputsbin/np-tools/loop-run-round.cjs
loop-run-round-post-executor-missing-verifybin/np-tools/loop-run-round.cjs
loop-run-round-preflight-missing-querybin/np-tools/loop-run-round.cjs
loop-run-round-stuck-conflicting-findingsbin/np-tools/loop-run-round.cjs
loop-run-round-verify-output-unreadablebin/np-tools/loop-run-round.cjs
loop-state-invalid-jsonbin/np-tools/loop-state-record.cjs
loop-state-invalid-valuebin/np-tools/loop-state-record.cjs
loop-state-task-not-foundbin/np-tools/loop-state-read.cjs
loop-state-unknown-keybin/np-tools/loop-state-record.cjs
manifest-build-failedlib/install/manifest.cjs
manifest-invalid-pathlib/install/manifest.cjs
manifest-invalid-shapelib/codebase-manifest.cjs
manifest-invalid-structurelib/install/manifest.cjs
manifest-parse-errorlib/codebase-manifest.cjs
manifest-parse-failedlib/install/manifest.cjs
manifest-path-traversalbin/install.js
manifest-read-errorlib/codebase-manifest.cjs
manifest-schema-mismatchlib/codebase-manifest.cjs
manifest-unlink-outside-basebin/install.js
manifest-write-failedlib/install/manifest.cjs
memory-body-file-read-failedbin/np-tools/memory-add.cjs
memory-dim-mismatchlib/memory.cjs
memory-disabledbin/np-tools/_memory-resolve.cjs
memory-drift-detectedlib/memory.cjs
memory-embed-mismatchlib/memory.cjs
memory-empty-querylib/memory.cjs
memory-index-desynclib/memory-index-usearch.cjs
memory-index-keymap-corruptlib/memory-index-usearch.cjs
memory-index-missing-recordsbin/np-tools/memory-index.cjs
memory-invalid-dimlib/memory-index-usearch.cjs
memory-invalid-providerlib/memory.cjs
memory-invalid-recordlib/memory.cjs
memory-invalid-recordslib/memory.cjs
memory-missing-indexlib/memory.cjs
memory-missing-providerlib/memory.cjs
memory-model-mismatchlib/memory.cjs
memory-model-not-whitelistedlib/memory-provider-local.cjs
memory-query-missing-textbin/np-tools/memory-query.cjs
memory-records-arg-invalid-jsonbin/np-tools/memory-index.cjs
memory-records-file-invalid-jsonbin/np-tools/memory-index.cjs
memory-records-file-read-failedbin/np-tools/memory-index.cjs
memory-records-not-arraybin/np-tools/memory-index.cjs
memory-transformers-not-installedlib/memory-provider-local.cjs
memory-usearch-not-installedlib/memory-index-usearch.cjs
messages-already-archivedlib/messaging.cjs
messages-archive-without-replylib/messaging.cjs
messages-body-file-not-allowedbin/np-tools/messages-send.cjs
messages-body-file-read-failedbin/np-tools/messages-send.cjs
messages-body-too-largelib/messaging.cjs
messages-invalid-agentlib/messaging.cjs
messages-invalid-expects-replylib/messaging.cjs
messages-invalid-idlib/messaging.cjs
messages-invalid-in-reply-tolib/messaging.cjs
messages-invalid-kindlib/messaging.cjs
messages-invalid-roundbin/np-tools/messages-send.cjs, lib/messaging.cjs
messages-invalid-sincelib/messaging.cjs
messages-missing-bodylib/messaging.cjs
messages-missing-idbin/np-tools/messages-archive.cjs, bin/np-tools/messages-thread.cjs
messages-missing-phaselib/messaging.cjs
messages-missing-subjectlib/messaging.cjs
messages-missing-task-idlib/messaging.cjs
messages-not-foundlib/messaging.cjs
messages-response-needs-in-reply-tolib/messaging.cjs
messages-send-conflictlib/messaging.cjs
messages-vanishedlib/messaging.cjs
metrics-invalid-phaselib/metrics-aggregate.cjs, lib/metrics.cjs
metrics-invalid-recordlib/metrics.cjs
migration-downgrade-unsupportedlib/migrations.cjs
migration-duplicatelib/migrations.cjs
migration-invalid-fromlib/migrations.cjs
migration-invalid-kindlib/migrations.cjs
migration-invalid-steplib/migrations.cjs
migration-invalid-transformlib/migrations.cjs
migration-missing-steplib/migrations.cjs
migration-no-pathlib/migrations.cjs
milestone-completed-untouchablebin/np-tools/propose-milestones.cjs
milestone-has-slicesbin/np-tools/propose-milestones.cjs
milestone-meta-invalid-jsonlib/milestone-meta.cjs
milestone-meta-invalid-statuslib/milestone-meta.cjs
milestone-meta-unreadablelib/milestone-meta.cjs
milestone-not-foundbin/np-tools/propose-milestones.cjs
missing-apply-pathbin/np-tools/new-milestone.cjs, bin/np-tools/new-project.cjs, bin/np-tools/propose-milestones.cjs
new-milestone-forbidden-writebin/np-tools/new-milestone.cjs
not-in-projectlib/core.cjs
nubosloop-audit-invalid-agentlib/nubosloop-audit.cjs
nubosloop-audit-invalid-loglib/nubosloop-audit.cjs
nubosloop-audit-invalid-task-idlib/nubosloop-audit.cjs
nubosloop-auto-log-invalid-task-idlib/nubosloop.cjs
nubosloop-invalid-task-idlib/nubosloop.cjs
nubosloop-preflight-invalid-querylib/nubosloop.cjs
nubosloop-unknown-routelib/nubosloop.cjs
offhost-audited-agent-unsupportedlib/runtime/dispatch.cjs
offhost-bash-requires-sandboxlib/runtime/dispatch.cjs
output-lint-cannot-infer-schemabin/np-tools/output-lint.cjs
output-lint-missing-filebin/np-tools/output-lint.cjs
output-lint-missing-schemabin/np-tools/output-lint.cjs
output-lint-unknown-verbbin/np-tools/output-lint.cjs
output-schema-not-foundlib/schemas/index.cjs
output-schema-violationlib/output-lint.cjs
park-invalid-task-idbin/np-tools/park.cjs
park-missing-task-idbin/np-tools/park.cjs
path-not-in-projectbin/np-tools/commit-task.cjs
phase-meta-invalid-milestonebin/np-tools/phase-meta.cjs
phase-meta-length-non-arraybin/np-tools/phase-meta.cjs
phase-meta-missing-milestonebin/np-tools/phase-meta.cjs
phase-meta-not-foundbin/np-tools/phase-meta.cjs
phase-meta-unknown-fieldbin/np-tools/phase-meta.cjs
phase-not-foundlib/roadmap.cjs
plan-lint-file-not-foundbin/np-tools/plan-lint.cjs
plan-lint-invalid-milestonebin/np-tools/plan-lint.cjs
plan-lint-milestone-not-foundbin/np-tools/plan-lint.cjs
plan-lint-missing-targetbin/np-tools/plan-lint.cjs
plan-milestone-invalid-argbin/np-tools/plan-milestone.cjs
plan-milestone-not-foundbin/np-tools/plan-milestone.cjs
plan-milestone-unknown-verbbin/np-tools/plan-milestone.cjs
preflight-failedlib/runtime/preflight.cjs
project-already-initializedbin/np-tools/new-project.cjs
project-not-initializedbin/np-tools/new-milestone.cjs, bin/np-tools/propose-milestones.cjs
propose-milestones-forbidden-writebin/np-tools/propose-milestones.cjs
proposed-reqs-collides-with-existingbin/np-tools/discuss-project.cjs
proposed-reqs-duplicate-idbin/np-tools/discuss-project.cjs
proposed-reqs-empty-textbin/np-tools/discuss-project.cjs
proposed-reqs-invalid-entrybin/np-tools/discuss-project.cjs
proposed-reqs-invalid-idbin/np-tools/discuss-project.cjs
proposed-reqs-not-arraybin/np-tools/discuss-project.cjs
provider-bad-jsonlib/runtime/providers/openai-compat.cjs
provider-http-errorlib/runtime/providers/openai-compat.cjs
provider-invalid-kindlib/model-providers.cjs
provider-missing-api-keylib/runtime/providers/openai-compat.cjs
provider-model-unresolvedlib/model-providers.cjs
provider-no-base-urllib/runtime/providers/openai-compat.cjs
provider-no-fetchlib/runtime/providers/openai-compat.cjs
provider-no-modellib/runtime/providers/openai-compat.cjs
provider-request-failedlib/runtime/providers/openai-compat.cjs
provider-undefinedlib/model-providers.cjs
render-template-invalid-varsbin/np-tools/render-template.cjs
render-template-missing-namebin/np-tools/render-template.cjs
render-template-missing-varsbin/np-tools/render-template.cjs
render-todo-missing-slicebin/np-tools/render-todo.cjs
research-invalid-phase-argbin/np-tools/research-phase.cjs
research-phase-not-foundbin/np-tools/research-phase.cjs
researcher-reconcile-invalid-milestonebin/np-tools/researcher-reconcile.cjs
researcher-reconcile-missing-filebin/np-tools/researcher-reconcile.cjs
researcher-reconcile-no-finalbin/np-tools/researcher-reconcile.cjs
researcher-reconcile-no-research-dirlib/researcher-reconciler.cjs
researcher-reconcile-no-spawn-fileslib/researcher-reconciler.cjs
researcher-reconcile-unknown-verbbin/np-tools/researcher-reconcile.cjs
researcher-spawn-frontmatterlib/researcher-reconciler.cjs
researcher-spawn-missinglib/researcher-reconciler.cjs
reset-slice-invalid-task-idbin/np-tools/reset-slice.cjs
reset-slice-no-statebin/np-tools/reset-slice.cjs
roadmap-base-phase-not-foundlib/roadmap.cjs
roadmap-description-too-longlib/roadmap.cjs
roadmap-duplicate-milestonebin/np-tools/new-milestone.cjs, lib/roadmap.cjs
roadmap-duplicate-sluglib/roadmap.cjs
roadmap-invalid-descriptionlib/roadmap.cjs
roadmap-invalid-milestonelib/roadmap.cjs
roadmap-invalid-milestone-idlib/roadmap.cjs
roadmap-invalid-patchlib/roadmap.cjs
roadmap-invalid-requirementslib/roadmap.cjs
roadmap-invalid-sluglib/roadmap.cjs
roadmap-invalid-statuslib/roadmap.cjs
roadmap-invalid-success-criterialib/roadmap.cjs
roadmap-milestone-not-foundlib/roadmap.cjs
roadmap-missingbin/np-tools/propose-milestones.cjs
roadmap-parse-errorbin/np-tools/new-milestone.cjs, bin/np-tools/propose-milestones.cjs, lib/roadmap.cjs
roadmap-render-read-errorlib/roadmap-render.cjs
roadmap-too-largelib/roadmap.cjs
roadmap-unsupported-schemalib/roadmap-schema.cjs
roadmap-write-parse-errorlib/roadmap.cjs
roadmap-write-read-errorlib/roadmap.cjs
runtime-unknownlib/runtime/index.cjs
safe-path-base-missinglib/safe-path.cjs
safe-path-flag-value-looks-like-flaglib/safe-path.cjs
safe-path-invalid-git-reflib/safe-path.cjs
safe-path-invalid-identifierlib/safe-path.cjs
safe-path-invalid-inputlib/safe-path.cjs
safe-path-missing-flag-valuelib/safe-path.cjs
safe-path-outside-baselib/safe-path.cjs
scan-codebase-missing-modulebin/np-tools/scan-codebase.cjs
scan-codebase-missing-prosebin/np-tools/scan-codebase.cjs
scan-codebase-module-not-foundbin/np-tools/scan-codebase.cjs
scan-codebase-not-initializedbin/np-tools/scan-codebase.cjs
scan-codebase-prose-unreadablebin/np-tools/scan-codebase.cjs
scan-cwd-unreadablelib/workspace-scan.cjs
scan-not-a-directorylib/workspace-scan.cjs
schema-version-mismatchlib/state.cjs
session-aggregate-failedbin/np-tools/session-aggregate.cjs
session-pointer-invalid-isobin/np-tools/session-pointer-write.cjs
session-pointer-missing-isobin/np-tools/session-pointer-write.cjs
simplify-debt-unknown-verbbin/np-tools/simplify-debt.cjs
skill-audit-missing-skillbin/np-tools/skill-audit.cjs
skip-invalid-task-idbin/np-tools/skip.cjs
skip-missing-task-idbin/np-tools/skip.cjs
spawn-headless-agent-not-foundbin/np-tools/spawn-headless.cjs
spawn-headless-audit-persist-failedbin/np-tools/spawn-headless.cjs
spawn-headless-claude-not-foundbin/np-tools/spawn-headless.cjs
spawn-headless-depth-exceededbin/np-tools/spawn-headless.cjs
spawn-headless-invalid-agent-namebin/np-tools/spawn-headless.cjs
spawn-headless-invalid-timeoutbin/np-tools/spawn-headless.cjs
spawn-headless-lockedbin/np-tools/spawn-headless.cjs
spawn-headless-missing-agentbin/np-tools/spawn-headless.cjs
spawn-headless-missing-output-pathbin/np-tools/spawn-headless.cjs
spawn-headless-missing-prompt-pathbin/np-tools/spawn-headless.cjs
spawn-headless-prompt-unreadablebin/np-tools/spawn-headless.cjs
spawn-headless-reentrantbin/np-tools/spawn-headless.cjs
spawn-headless-spawn-failedbin/np-tools/spawn-headless.cjs
spawn-headless-timed-outbin/np-tools/spawn-headless.cjs
staging-clean-failedlib/install/staging.cjs
staging-mkdir-failedlib/install/staging.cjs
staging-swap-failedlib/install/staging.cjs
state-dir-invalid-subdirbin/np-tools/state-dir.cjs
state-incr-missing-keybin/np-tools/state-incr.cjs
state-incr-unknown-keybin/np-tools/state-incr.cjs
target-is-symlinkbin/install.js
task-commit-not-foundlib/git.cjs
task-frontmatter-missinglib/tasks.cjs
task-not-foundlib/tasks.cjs
task-plan-unreadablelib/tasks.cjs
task-status-line-missinglib/tasks.cjs
tasks-cycliclib/tasks.cjs
tasks-invalid-frontmatterlib/tasks.cjs
tasks-invalid-ownerlib/tasks.cjs
tasks-invalid-statuslib/tasks.cjs
tasks-invalid-tierlib/tasks.cjs
tasks-unknown-deplib/tasks.cjs
template-invalid-namebin/np-tools/template-path.cjs
template-not-foundbin/np-tools/template-path.cjs, lib/template.cjs
template-path-traversalbin/np-tools/template-path.cjs
template-unresolved-varbin/np-tools/new-milestone.cjs, bin/np-tools/new-project.cjs, bin/np-tools/propose-milestones.cjs, lib/template.cjs
thread-resume-missing-pathbin/np-tools/thread-resume.cjs
thread-resume-parse-errorbin/np-tools/thread-resume.cjs
thread-resume-read-errorbin/np-tools/thread-resume.cjs
todo-missing-slice-idlib/todo.cjs
tool-bad-argslib/runtime/tools/index.cjs
tool-edit-ambiguouslib/runtime/tools/index.cjs
tool-edit-no-matchlib/runtime/tools/index.cjs
tool-file-too-largelib/runtime/tools/index.cjs
tool-path-symlinklib/runtime/tools/index.cjs
undo-invalid-prefixbin/np-tools/undo.cjs
undo-missing-prefixbin/np-tools/undo.cjs
undo-task-commit-not-foundbin/np-tools/undo-task.cjs
undo-task-invalid-idbin/np-tools/undo-task.cjs
undo-task-missing-idbin/np-tools/undo-task.cjs
unknown-commandnp-tools.cjs
unknown-init-workflownp-tools.cjs
unpark-invalid-task-idbin/np-tools/unpark.cjs
unpark-missing-task-idbin/np-tools/unpark.cjs
update-docs-missing-modulebin/np-tools/update-docs.cjs
update-docs-missing-prosebin/np-tools/update-docs.cjs
update-docs-module-not-foundbin/np-tools/update-docs.cjs
update-docs-not-initializedbin/np-tools/update-docs.cjs
update-docs-prose-unreadablebin/np-tools/update-docs.cjs
update-phase-meta-invalid-jsonbin/np-tools/update-phase-meta.cjs
update-phase-meta-invalid-milestonebin/np-tools/update-phase-meta.cjs
update-phase-meta-missing-jsonbin/np-tools/update-phase-meta.cjs
update-phase-meta-missing-milestonebin/np-tools/update-phase-meta.cjs
verify-file-unreadablelib/verify.cjs
verify-milestone-dir-missinglib/verify.cjs
verify-work-file-unreadablebin/np-tools/verify-work.cjs
verify-work-invalid-phasebin/np-tools/verify-work.cjs
verify-work-invalid-sc-idbin/np-tools/verify-work.cjs
verify-work-invalid-statusbin/np-tools/verify-work.cjs
verify-work-milestone-dir-missingbin/np-tools/verify-work.cjs
verify-work-not-foundbin/np-tools/verify-work.cjs
verify-work-sc-not-foundbin/np-tools/verify-work.cjs
verify-work-unknown-verbbin/np-tools/verify-work.cjs
workspace-scan-invalid-batch-sizebin/np-tools/workspace-scan.cjs
worktree-add-failedlib/worktree.cjs
worktree-already-existslib/worktree.cjs
worktree-branch-conflictlib/worktree.cjs
worktree-branch-delete-failedlib/worktree.cjs
worktree-branch-missinglib/worktree.cjs
worktree-create-missing-slicebin/np-tools/worktree-create.cjs
worktree-ff-merge-missing-slicebin/np-tools/worktree-ff-merge.cjs
worktree-ff-not-possiblelib/worktree.cjs
worktree-ff-wrong-branchlib/worktree.cjs
worktree-gitignore-check-failedlib/worktree.cjs
worktree-list-failedlib/worktree.cjs
worktree-not-git-repolib/worktree.cjs
worktree-not-gitignoredlib/worktree.cjs
worktree-prune-failedlib/worktree.cjs
worktree-remove-failedlib/worktree.cjs
worktree-remove-missing-slicebin/np-tools/worktree-remove.cjs
worktree-rev-parse-failedlib/worktree.cjs
yaml-invalid-inputlib/yaml.cjs
yaml-parse-failedlib/yaml.cjs
yaml-too-largelib/yaml.cjs

Total: 465 codes.