Appearance
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
| Code | Source | Meaning |
|---|---|---|
not-in-project | lib/core.cjs | projectStateDir(cwd) could not find a .nubos-pilot/ ancestor. |
lock-timeout | lib/core.cjs | withFileLock could not acquire the lock within timeoutMs. |
unknown-command | np-tools.cjs | Top-level dispatch received an unrecognized command name. |
unknown-init-workflow | np-tools.cjs | init <workflow> dispatched to an unregistered workflow. |
Layout / IDs
| Code | Source | Meaning |
|---|---|---|
layout-invalid-number | lib/layout.cjs | Milestone/slice/task number is not a non-negative integer. |
layout-invalid-id | lib/layout.cjs | ID string does not match the expected shape (M<NNN>, S<NNN>, T<NNNN>, or M<NNN>-S<NNN>[-T<NNNN>]). |
layout-invalid-slug | lib/layout.cjs | Slug does not match /^[a-z0-9-]+$/. |
layout-slice-slug-mismatch | lib/layout.cjs | Existing slice directory has a slug different from the one requested. |
Roadmap / milestone
| Code | Source | Meaning |
|---|---|---|
roadmap-parse-error | lib/roadmap.cjs | roadmap.yaml unreadable or invalid YAML. |
roadmap-too-large | lib/roadmap.cjs | roadmap.yaml exceeds 1 MB cap. |
roadmap-invalid-milestone | lib/roadmap.cjs | Milestone input missing id. |
roadmap-duplicate-milestone | lib/roadmap.cjs | Milestone id already exists. |
roadmap-milestone-not-found | lib/roadmap.cjs | Referenced milestone id does not exist. |
roadmap-invalid-slug | lib/roadmap.cjs | Phase slug (legacy schema) missing or invalid. |
roadmap-invalid-description | lib/roadmap.cjs | Backlog description empty or contains YAML separator pattern. |
roadmap-description-too-long | lib/roadmap.cjs | Backlog description exceeds 500 chars. |
phase-not-found | lib/roadmap.cjs | getPhase(n) — no milestone with that number/id. |
Tasks
| Code | Source | Meaning |
|---|---|---|
tasks-invalid-frontmatter | lib/tasks.cjs | Task frontmatter missing required field or wrong type. |
tasks-invalid-status | lib/tasks.cjs | status value not in {pending, in-progress, done, skipped, parked}. |
tasks-invalid-tier | lib/tasks.cjs | tier value not in {haiku, sonnet, opus}. |
tasks-invalid-owner | lib/tasks.cjs | owner value not recognized. |
tasks-unknown-dep | lib/tasks.cjs | depends_on references a task id that does not exist in the graph. |
tasks-cyclic | lib/tasks.cjs | loadTaskGraph detected a dependency cycle. |
task-frontmatter-missing | lib/tasks.cjs | Task file has no frontmatter block at all. |
task-status-line-missing | lib/tasks.cjs | Task body has no status: line where one is required. |
invalid-task-status | lib/tasks.cjs | Status transition violates the lifecycle state machine. |
task-not-found | lib/tasks.cjs | Task id not present in the loaded graph / directory. |
Agents
| Code | Source | Meaning |
|---|---|---|
agent-not-found | lib/agents.cjs | loadAgent(name) could not find agents/<name>.md. |
agent-invalid-frontmatter | lib/agents.cjs | Required field missing, or name does not match filename stem. |
agent-forbidden-field | lib/agents.cjs | Frontmatter contains model, model_profile, or hooks. |
agent-invalid-tier | lib/agents.cjs | tier value not in {haiku, sonnet, opus}. |
invalid-tier | lib/model-profiles.cjs | resolve-model was given an invalid tier. |
invalid-profile | lib/model-profiles.cjs | resolve-model was given an invalid model_profile. |
Git / commit
| Code | Source | Meaning |
|---|---|---|
commit-paths-invalid | lib/git.cjs | assertCommittablePaths rejected the input shape. |
commit-all-paths-gitignored | lib/git.cjs | All paths in files_modified are gitignored (hard-fail). |
commit-no-paths | lib/git.cjs | Commit invoked with an empty path list. |
task-commit-not-found | lib/git.cjs | findCommitByTaskId found no matching commit. |
list-task-commits-invalid | lib/git.cjs | listTaskCommits given an empty/invalid prefix. |
State / config
| Code | Source | Meaning |
|---|---|---|
schema-version-mismatch | lib/state.cjs | STATE.md schema version does not match the runtime expectation. |
config-parse-error | bin/np-tools/config.cjs | config.json is not valid JSON. |
config-forbidden-key | bin/np-tools/config.cjs | Dotted key path contains a forbidden segment. |
config-invalid-key | bin/np-tools/config.cjs | Dotted key segment violates /^[a-zA-Z0-9_-]+$/. |
Templates
| Code | Source | Meaning |
|---|---|---|
template-not-found | lib/template.cjs | Template file missing. |
template-unresolved-var | lib/template.cjs | placeholder has no answer key. |
Verify / validate
| Code | Source | Meaning |
|---|---|---|
verify-file-unreadable | lib/verify.cjs | VERIFICATION.md cannot be read at the expected path. |
verify-milestone-dir-missing | lib/verify.cjs | /np:verify-work <N> invoked on a milestone that has no directory yet. |
verify-work-invalid-phase | bin/np-tools/verify-work.cjs | Milestone argument not a positive integer. |
verify-work-not-found | bin/np-tools/verify-work.cjs | Milestone id not in roadmap.yaml. |
verify-work-invalid-sc-id | bin/np-tools/verify-work.cjs | record-sc SC id not of the form SC-<N>. |
verify-work-invalid-status | bin/np-tools/verify-work.cjs | SC status not Pass / Fail / Defer / Pending. |
verify-work-file-unreadable | bin/np-tools/verify-work.cjs | record-sc before emit-draft. |
verify-work-sc-not-found | bin/np-tools/verify-work.cjs | SC id absent from the draft VERIFICATION.md. |
Output-schema enforcement (ADR-0017)
| Code | Source | Meaning |
|---|---|---|
output-schema-violation | lib/output-lint.cjs::enforceFile, bin/np-tools/output-lint.cjs check --enforce, bin/np-tools/doctor.cjs::_checkOutputSchemas | Output artefact failed schema lint. Inspect the violations[] array — re-spawn the producing agent with the diff as feedback. Never hand-edit. |
output-schema-not-found | lib/schemas/index.cjs::getSchema | Unknown schema name passed to output-lint. Run output-lint list to see registered names. |
output-lint-missing-file | bin/np-tools/output-lint.cjs check | --file <path> argument missing or empty. |
output-lint-missing-schema | bin/np-tools/output-lint.cjs prompt | --schema <name> argument missing. |
output-lint-cannot-infer-schema | bin/np-tools/output-lint.cjs check | Filename does not match a known artefact pattern (*-VERIFICATION.md, *-VALIDATION.md, *-RESEARCH.md, spawn-*.md); pass --schema explicitly. |
output-lint-unknown-verb | bin/np-tools/output-lint.cjs | Verb 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.
| Code | Source | Meaning |
|---|---|---|
data-schema-not-found | lib/validate.cjs::_loadSchema | Unknown 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-corrupt | lib/validate.cjs::_loadSchema | A shipped lib/schemas/data/<name>.json file is not valid JSON. Indicates a broken release artefact. |
data-migration-invalid | lib/migrate.cjs::runMigrators | Default 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-corrupt | lib/checkpoint.cjs::_assertCompatibleSchema | A 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-record | lib/messaging.cjs::send | Writer 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.
| Code | Source | Meaning |
|---|---|---|
graph-not-found | bin/np-tools/graph-impact.cjs | .nubos-pilot/codebase/.graph.json does not exist. Run np:scan-codebase first. |
graph-unreadable | bin/np-tools/graph-impact.cjs | The graph file exists but is not valid JSON. Re-run np:scan-codebase to rebuild it. |
graph-missing-target | bin/np-tools/graph-impact.cjs | No target given: pass --module <id> or --path <relpath> (or --cycles to list every cycle). |
graph-path-unmapped | bin/np-tools/graph-impact.cjs | The --path value resolves to a directory that owns no module in the graph. |
graph-unknown-module | bin/np-tools/graph-impact.cjs | The --module id is not a node in the graph. |
Project lifecycle / archive (ADR-0016)
| Code | Source | Meaning |
|---|---|---|
archive-no-project | lib/archive.cjs::archiveProject | PROJECT.md not present — nothing to archive. |
archive-not-complete | lib/archive.cjs::archiveProject | Project status reports blockers; pass --force (or run /np:close-project first) to archive anyway. Manifest will record forced: true. |
archive-worktrees-present | lib/archive.cjs::archiveProject | .nubos-pilot/worktrees/ is non-empty. Clean up via /np:worktree-list / /np:worktree-remove, or pass --force. |
archive-collision | lib/archive.cjs::archiveProject | More than 99 archives for the same slug + date — should never happen in practice. |
archive-path-escape | lib/archive.cjs::readArchiveFile | Relative path in archive-project read --rel escapes the archive directory. Path-traversal guard. |
archive-invalid-project-status | lib/archive.cjs::setProjectStatus | Value not in {active, completed}. |
archive-read-missing-name | bin/np-tools/archive-project.cjs | read verb without --name <archive-dir>. |
archive-read-missing-rel | bin/np-tools/archive-project.cjs | read verb without --rel <relative-path>. |
archive-project-unknown-verb | bin/np-tools/archive-project.cjs | Verb not in `status |
close-project-unknown-verb | bin/np-tools/close-project.cjs | Verb not in `init |
project-already-initialized | bin/np-tools/new-project.cjs::_apply | PROJECT.md exists and Phase -1 was not taken. Re-run with Phase -1 archive choice or resolve manually. |
Researcher reconciliation (ADR-0018)
| Code | Source | Meaning |
|---|---|---|
researcher-spawn-missing | lib/researcher-reconciler.cjs::parseSpawnOutput | Spawn output file does not exist at the expected path. |
researcher-spawn-frontmatter | lib/researcher-reconciler.cjs::parseSpawnOutput | Spawn output frontmatter unparseable — file likely violates researcher-output schema. |
researcher-reconcile-no-research-dir | lib/researcher-reconciler.cjs::prepareReconcilerInput | No research/ subdir under M<NNN>/. Stage 1 of the swarm did not run. |
researcher-reconcile-no-spawn-files | lib/researcher-reconciler.cjs::prepareReconcilerInput | research/ exists but contains no spawn-*.md files. |
researcher-reconcile-no-final | bin/np-tools/researcher-reconcile.cjs gate | M<NNN>-RESEARCH.md does not exist yet. Reconciler stage did not run or failed schema lint. |
researcher-reconcile-invalid-milestone | bin/np-tools/researcher-reconcile.cjs | Milestone argument not a positive integer. |
researcher-reconcile-missing-file | bin/np-tools/researcher-reconcile.cjs parse-spawn | --file <path> argument missing. |
researcher-reconcile-unknown-verb | bin/np-tools/researcher-reconcile.cjs | Verb not in `parse-spawn |
Undo / recovery
| Code | Source | Meaning |
|---|---|---|
undo-missing-prefix | bin/np-tools/undo.cjs | /np:undo called with no argument. |
undo-invalid-prefix | bin/np-tools/undo.cjs | Prefix not a milestone number or M<NNN>[-S<NNN>]. |
undo-task-missing-id | bin/np-tools/undo-task.cjs | /np:undo-task invoked without a task id. |
undo-task-invalid-id | bin/np-tools/undo-task.cjs | Task id format invalid. |
undo-task-commit-not-found | bin/np-tools/undo-task.cjs | No task(<id>): commit in the repo. |
reset-slice-invalid-task-id | bin/np-tools/reset-slice.cjs | Explicit task id argument malformed. |
reset-slice-no-state | bin/np-tools/reset-slice.cjs | STATE.md not readable — not inside a nubos-pilot project. |
checkpoint-invalid-task | lib/checkpoint.cjs | Checkpoint operation referenced an unknown task. |
checkpoint-invalid-task-id | lib/checkpoint.cjs | Task id format invalid. |
Nubosloop / loop-run-round (ADR-0010)
| Code | Source | Meaning |
|---|---|---|
loop-run-round-invalid-task-id | bin/np-tools/loop-run-round.cjs | First positional argument does not match M<NNN>-S<NNN>-T<NNNN>. |
loop-run-round-missing-phase | bin/np-tools/loop-run-round.cjs | --phase flag missing. |
loop-run-round-invalid-phase | bin/np-tools/loop-run-round.cjs | --phase not in {preflight, post-researcher, post-executor, post-critics, commit, stuck}. |
loop-run-round-preflight-missing-query | bin/np-tools/loop-run-round.cjs | --phase preflight invoked without --query. |
loop-preflight-already-stamped | bin/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-audit | bin/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-verify | bin/np-tools/loop-run-round.cjs | --phase post-executor invoked without --verify-exit-code. |
loop-post-executor-missing-spawn-audit | bin/np-tools/loop-run-round.cjs | Layer-C: no executor / build-fixer audit entry for the round. |
loop-run-round-verify-output-traversal | bin/np-tools/loop-run-round.cjs | --verify-output-path resolves outside cwd or TMPDIR. |
loop-run-round-verify-output-unreadable | bin/np-tools/loop-run-round.cjs | --verify-output-path could not be read. |
loop-run-round-post-critics-missing-outputs | bin/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-json | bin/np-tools/loop-run-round.cjs | Inline --critic-outputs is not valid JSON. |
loop-run-round-post-critics-invalid-outputs | bin/np-tools/loop-run-round.cjs | --critic-outputs parsed JSON is not an array. |
loop-run-round-post-critics-conflicting-outputs | bin/np-tools/loop-run-round.cjs | (L5) Both --critic-outputs and --critic-outputs-path passed. Pick exactly one. |
loop-run-round-critic-outputs-path-traversal | bin/np-tools/loop-run-round.cjs | (L5) --critic-outputs-path resolves outside cwd or TMPDIR. |
loop-run-round-critic-outputs-path-unreadable | bin/np-tools/loop-run-round.cjs | (L5) --critic-outputs-path cannot be read. |
loop-run-round-critic-outputs-path-invalid-json | bin/np-tools/loop-run-round.cjs | (L5) --critic-outputs-path content is not valid JSON. |
loop-run-round-critic-outputs-path-invalid-shape | bin/np-tools/loop-run-round.cjs | (L5) --critic-outputs-path JSON is neither an object nor an array. |
loop-post-critics-missing-critic-audit | bin/np-tools/loop-run-round.cjs | Layer-C: no np-critic audit entry for the round. Single-Critic Revision — exactly one audit, not three. |
loop-commit-precondition-missing | bin/np-tools/loop-run-round.cjs | Layer-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-findings | bin/np-tools/loop-run-round.cjs | (L5) Both --findings and --findings-path passed to --phase stuck. Pick exactly one. |
arg-invalid-json | bin/np-tools/_args.cjs | Generic optional-JSON-flag parse failure. |
Loop tool-use audit
| Code | Source | Meaning |
|---|---|---|
loop-audit-invalid-task-id | bin/np-tools/loop-audit-tool-use.cjs | First positional argument does not match M<NNN>-S<NNN>-T<NNNN>. |
loop-audit-missing-agent | bin/np-tools/loop-audit-tool-use.cjs | Append mode invoked without --agent. |
loop-audit-missing-log | bin/np-tools/loop-audit-tool-use.cjs | --tool-use-log required for an AUDITED_AGENT (Rule 9). |
loop-audit-invalid-log | bin/np-tools/loop-audit-tool-use.cjs | --tool-use-log is not a JSON array. |
loop-audit-agent-is-module | bin/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-route | lib/nubosloop.cjs | A finding's route is not in KNOWN_ROUTING_BUCKETS — typo in ROUTE_TABLE. Fail-loud. |
nubosloop-invalid-task-id | lib/nubosloop.cjs | recordLoopState given an empty / malformed task id. |
nubosloop-preflight-invalid-query | lib/nubosloop.cjs | preflightCacheLookup given an empty / non-string query. |
nubosloop-audit-invalid-task-id | lib/nubosloop.cjs | auditToolUse given a malformed task id. |
nubosloop-audit-invalid-agent | lib/nubosloop.cjs | auditToolUse given an empty / non-string agent name. |
nubosloop-audit-invalid-log | lib/nubosloop.cjs | auditToolUse given a non-array tool-use log. |
nubosloop-auto-log-invalid-task-id | lib/nubosloop.cjs | autoLogLearning task id does not match the required shape. |
Headless subprocess (Cost Layer L6)
Codes raised by spawn-headless — see ADR-0010 §L6.
| Code | Source | Meaning |
|---|---|---|
spawn-headless-missing-agent | bin/np-tools/spawn-headless.cjs | --agent flag missing. |
spawn-headless-invalid-agent-name | bin/np-tools/spawn-headless.cjs | --agent must match /^[a-zA-Z0-9_-]+$/ — defends against path-injection. |
spawn-headless-missing-prompt-path | bin/np-tools/spawn-headless.cjs | --prompt-path flag missing. |
spawn-headless-missing-output-path | bin/np-tools/spawn-headless.cjs | --output-path flag missing. |
spawn-headless-invalid-timeout | bin/np-tools/spawn-headless.cjs | --timeout-ms is non-numeric or below 1000. |
spawn-headless-path-traversal | bin/np-tools/spawn-headless.cjs | --prompt-path or --output-path resolves outside cwd or TMPDIR. |
spawn-headless-agent-not-found | bin/np-tools/spawn-headless.cjs | Agent file not in any of .nubos-pilot/agents/, .claude/agents/, or the package agents/. |
spawn-headless-prompt-unreadable | bin/np-tools/spawn-headless.cjs | --prompt-path could not be read. |
spawn-headless-claude-not-found | bin/np-tools/spawn-headless.cjs | The claude binary (or NUBOS_PILOT_CLAUDE_BIN override) is not on $PATH. |
spawn-headless-spawn-failed | bin/np-tools/spawn-headless.cjs | Generic subprocess spawn failure (other than ENOENT / ETIMEDOUT). |
spawn-headless-timed-out | bin/np-tools/spawn-headless.cjs | Subprocess 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.
| Code | Source | Meaning |
|---|---|---|
provider-undefined | lib/model-providers.cjs | An 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-provider | lib/model-providers.cjs | A routing entry has no provider field. |
agent-routing-invalid-entry | lib/model-providers.cjs | A routing entry is not an object. |
provider-invalid-kind | lib/model-providers.cjs | model_providers.<name>.kind is not native or openai-compat. |
provider-model-unresolved | lib/model-providers.cjs | No pinned model in the routing entry and no models[<tier>] for that provider/tier. |
dispatch-not-offhost | lib/runtime/dispatch.cjs | dispatchOffHost was called for an agent that resolves to a native provider — only openai-compat runs off-host. |
offhost-audited-agent-unsupported | lib/runtime/dispatch.cjs | A 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-sandbox | lib/runtime/dispatch.cjs | --allow-bash was passed outside a slice worktree. Off-host Bash is confined to a worktree_isolation slice worktree only. |
preflight-failed | lib/runtime/preflight.cjs | The 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-key | lib/runtime/providers/openai-compat.cjs | The env var named by api_key_env is empty or unset. |
provider-http-error / provider-request-failed | lib/runtime/providers/openai-compat.cjs | The 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.cjs | resolve-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.cjs | The --task-file path could not be read. |
spawn-headless-offhost-failed (CLI JSON) | bin/np-tools/spawn-headless.cjs | An 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
| Code | Source | Meaning |
|---|---|---|
plan-milestone-invalid-arg | bin/np-tools/plan-milestone.cjs | Milestone argument invalid. |
plan-milestone-not-found | bin/np-tools/plan-milestone.cjs | Milestone not in roadmap.yaml. |
plan-milestone-unknown-verb | bin/np-tools/plan-milestone.cjs | Unknown subcommand verb. |
execute-milestone-invalid-arg | bin/np-tools/execute-milestone.cjs | Milestone argument invalid. |
execute-milestone-not-found | bin/np-tools/execute-milestone.cjs | Milestone not in roadmap.yaml. |
execute-milestone-invalid-task-id | bin/np-tools/execute-milestone.cjs | Task full-id malformed. |
execute-milestone-task-milestone-mismatch | bin/np-tools/execute-milestone.cjs | Task belongs to a different milestone. |
execute-milestone-task-not-found | bin/np-tools/execute-milestone.cjs | Task plan file absent on disk. |
execute-milestone-unknown-verb | bin/np-tools/execute-milestone.cjs | Unknown subcommand verb. |
Install / payload
| Code | Source | Meaning |
|---|---|---|
staging-mkdir-failed | lib/install/staging.cjs | Staging directory could not be created. |
staging-clean-failed | lib/install/staging.cjs | Stale staging cleanup failed. |
staging-swap-failed | lib/install/staging.cjs | Atomic swap from staging into payload failed. |
manifest-build-failed | lib/install/manifest.cjs | Could not enumerate / hash the staged tree. |
manifest-invalid-structure | lib/install/manifest.cjs | Manifest JSON shape is wrong. |
manifest-parse-failed | lib/install/manifest.cjs | Manifest file unreadable / unparseable. |
manifest-write-failed | lib/install/manifest.cjs | Manifest atomic write failed. |
manifest-path-traversal | bin/install.js | Manifest path contains .. or is absolute. |
target-is-symlink | bin/install.js | Refuses to write into a symlinked payload directory. |
backup-source-missing | lib/install/backup.cjs | File to back up does not exist. |
backup-refuses-symlink | lib/install/backup.cjs | Refuses to back up a symlink. |
backup-rename-failed | lib/install/backup.cjs | Backup rename failed. |
agents-md-missing-notice | lib/install/agents-md.cjs | Generated AGENTS.md is missing the managed notice. |
agents-md-invalid-input | lib/install/agents-md.cjs | Bad input to generateAgentsMd. |
codex-toml-invalid-input | lib/install/codex-toml.cjs | Codex config.toml repair input is invalid. |
Workflow-specific
| Code | Source | Meaning |
|---|---|---|
project-already-initialized | bin/np-tools/new-project.cjs | /np:new-project invoked when PROJECT.md already exists. |
project-not-initialized | bin/np-tools/new-milestone.cjs | /np:new-milestone invoked before /np:new-project. |
answers-missing-field | bin/np-tools/{new-project,new-milestone}.cjs | Interview answer file missing a required key. |
answers-not-readable | bin/np-tools/{new-project,new-milestone}.cjs | --apply <answers.json> path unreadable. |
answers-parse-error | bin/np-tools/{new-project,new-milestone}.cjs | Answer file is not valid JSON. |
new-milestone-forbidden-write | bin/np-tools/new-milestone.cjs | Internal defensive guard — should never surface. |
discuss-invalid-phase-arg | bin/np-tools/discuss-phase.cjs | Milestone argument not a positive integer. |
discuss-phase-not-found | bin/np-tools/discuss-phase.cjs | Milestone id not in roadmap.yaml. |
research-invalid-phase-arg | bin/np-tools/research-phase.cjs | Milestone argument not a non-negative integer. |
research-phase-not-found | bin/np-tools/research-phase.cjs | Milestone id not in roadmap.yaml. |
add-tests-invalid-phase | bin/np-tools/add-tests.cjs | Milestone argument not a positive integer. |
add-tests-verification-missing | bin/np-tools/add-tests.cjs | No 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.
| Code | Source |
|---|---|
add-tests-invalid-phase | bin/np-tools/add-tests.cjs |
add-tests-phase-dir-missing | bin/np-tools/add-tests.cjs |
add-tests-unknown-verb | bin/np-tools/add-tests.cjs |
add-tests-verification-missing | bin/np-tools/add-tests.cjs |
add-todo-description-too-long | bin/np-tools/add-todo.cjs |
add-todo-empty-slug | bin/np-tools/add-todo.cjs |
add-todo-invalid-description | bin/np-tools/add-todo.cjs |
add-todo-missing-description | bin/np-tools/add-todo.cjs |
agent-forbidden-field | lib/agents.cjs |
agent-invalid-frontmatter | lib/agents.cjs |
agent-invalid-name | lib/agents.cjs |
agent-invalid-tier | lib/agents.cjs |
agent-loop-no-provider | lib/runtime/agent-loop.cjs |
agent-loop-no-toolset | lib/runtime/agent-loop.cjs |
agent-not-a-module | lib/agents.cjs |
agent-not-found | lib/agents.cjs |
agent-not-spawnable | lib/agents.cjs |
agent-routing-invalid-entry | lib/model-providers.cjs |
agent-routing-missing-provider | lib/model-providers.cjs |
agents-md-invalid-input | lib/install/agents-md.cjs |
agents-md-missing-notice | lib/install/agents-md.cjs |
answers-invalid-field | bin/np-tools/new-milestone.cjs |
answers-missing-field | bin/np-tools/new-milestone.cjs, bin/np-tools/new-project.cjs, bin/np-tools/propose-milestones.cjs |
answers-not-readable | bin/np-tools/new-milestone.cjs, bin/np-tools/new-project.cjs, bin/np-tools/propose-milestones.cjs |
answers-parse-error | bin/np-tools/new-milestone.cjs, bin/np-tools/new-project.cjs, bin/np-tools/propose-milestones.cjs |
append-jsonl-embedded-newline | lib/core.cjs |
append-jsonl-invalid | lib/core.cjs |
append-jsonl-line-too-large | lib/core.cjs |
append-jsonl-parent-unusable | lib/core.cjs |
append-jsonl-stringify-failed | lib/core.cjs |
archive-carry-path-invalid | lib/archive.cjs |
archive-collision | lib/archive.cjs |
archive-copy-failed | lib/archive.cjs |
archive-invalid-project-status | lib/archive.cjs |
archive-no-project | lib/archive.cjs |
archive-not-complete | lib/archive.cjs |
archive-path-escape | lib/archive.cjs |
archive-project-unknown-verb | bin/np-tools/archive-project.cjs |
archive-read-missing-name | bin/np-tools/archive-project.cjs |
archive-read-missing-rel | bin/np-tools/archive-project.cjs |
archive-worktrees-present | lib/archive.cjs |
arg-invalid-json | bin/np-tools/_args.cjs |
askuser-invalid-response | lib/runtime/_readline.cjs |
askuser-invalid-type | lib/runtime/_readline.cjs |
askuser-no-tty | lib/runtime/_readline.cjs, lib/runtime/claude.cjs |
backup-refuses-symlink | lib/install/backup.cjs |
backup-rename-failed | lib/install/backup.cjs |
backup-source-missing | lib/install/backup.cjs |
checkpoint-invalid-merge-fn | lib/checkpoint.cjs |
checkpoint-invalid-status | bin/np-tools/checkpoint.cjs |
checkpoint-invalid-task | lib/checkpoint.cjs |
checkpoint-invalid-task-id | bin/np-tools/checkpoint.cjs, lib/checkpoint.cjs |
checkpoint-missing-file | bin/np-tools/checkpoint.cjs |
checkpoint-path-traversal | lib/checkpoint.cjs |
checkpoint-schema-mismatch | bin/np-tools/resume-work.cjs |
checkpoint-schema-version-corrupt | lib/checkpoint.cjs |
checkpoint-schema-version-missing | lib/checkpoint.cjs |
checkpoint-unknown-verb | bin/np-tools/checkpoint.cjs |
checkpoint-version-mismatch | lib/checkpoint.cjs |
claude-hooks-script-missing | lib/install/claude-hooks.cjs |
claude-settings-invalid-json | lib/install/claude-hooks.cjs |
claude-settings-unreadable | lib/install/claude-hooks.cjs |
close-project-unknown-verb | bin/np-tools/close-project.cjs |
codex-toml-invalid-input | lib/install/codex-toml.cjs |
commit-invalid-path | bin/np-tools/commit.cjs |
commit-message-too-long | bin/np-tools/commit.cjs |
commit-no-paths | lib/git.cjs |
commit-path-outside-project | bin/np-tools/commit.cjs |
commit-paths-invalid | lib/git.cjs |
commit-task-invalid-id | bin/np-tools/commit-task.cjs |
commit-task-loop-bypass-violation | bin/np-tools/commit-task.cjs |
commit-task-missing-id | bin/np-tools/commit-task.cjs |
commit-task-no-files | bin/np-tools/commit-task.cjs |
commit-task-not-found | bin/np-tools/commit-task.cjs |
config-forbidden-key | bin/np-tools/config.cjs |
config-invalid-economy-mode | lib/economy-mode.cjs |
config-invalid-json | lib/config.cjs |
config-invalid-key | bin/np-tools/config.cjs |
config-invalid-shape | lib/config.cjs |
config-not-a-file | lib/config.cjs |
config-unreadable | lib/config.cjs |
data-schema-corrupt | lib/validate.cjs |
data-schema-not-found | lib/validate.cjs |
discuss-invalid-phase-arg | bin/np-tools/discuss-phase.cjs |
discuss-phase-not-found | bin/np-tools/discuss-phase.cjs |
discuss-project-answers-parse-error | bin/np-tools/discuss-project.cjs |
discuss-project-answers-unreadable | bin/np-tools/discuss-project.cjs |
discuss-project-bootstrap-requires-project | bin/np-tools/discuss-project.cjs |
discuss-project-cannot-refresh | bin/np-tools/discuss-project.cjs |
discuss-project-missing-field | bin/np-tools/discuss-project.cjs |
discuss-project-not-initialized | bin/np-tools/discuss-project.cjs |
discuss-project-project-unreadable | bin/np-tools/discuss-project.cjs |
discuss-project-proposed-reqs-unreadable | bin/np-tools/discuss-project.cjs |
dispatch-no-agent | lib/runtime/dispatch.cjs |
dispatch-not-offhost | lib/runtime/dispatch.cjs |
doctor-emit-failed | bin/np-tools/doctor.cjs |
economy-debt-invalid-category | lib/economy-debt.cjs |
economy-debt-invalid-line | lib/economy-debt.cjs |
economy-debt-invalid-status | lib/economy-debt.cjs |
economy-debt-missing-id | lib/economy-debt.cjs |
economy-debt-missing-note | lib/economy-debt.cjs |
economy-debt-not-found | lib/economy-debt.cjs |
economy-debt-note-too-long | lib/economy-debt.cjs |
elision-entry-invalid | lib/elision.cjs |
elision-get-missing-hash | bin/np-tools/elision-get.cjs |
elision-hash-invalid | lib/elision.cjs |
elision-proxy-start-failed | bin/np-tools/spawn-headless.cjs |
elision-proxy-start-timeout | bin/np-tools/spawn-headless.cjs |
eval-reliability-bad-code | lib/eval-reliability.cjs |
eval-reliability-no-runs | lib/eval-reliability.cjs |
execute-milestone-invalid-arg | bin/np-tools/execute-milestone.cjs |
execute-milestone-invalid-task-id | bin/np-tools/execute-milestone.cjs |
execute-milestone-missing-task-id | bin/np-tools/execute-milestone.cjs |
execute-milestone-not-found | bin/np-tools/execute-milestone.cjs |
execute-milestone-task-milestone-mismatch | bin/np-tools/execute-milestone.cjs |
execute-milestone-task-not-found | bin/np-tools/execute-milestone.cjs |
execute-milestone-unknown-verb | bin/np-tools/execute-milestone.cjs |
finalize-slice-not-found | bin/np-tools/execute-milestone.cjs |
frontmatter-parse-error | lib/frontmatter.cjs |
graph-missing-target | bin/np-tools/graph-impact.cjs |
graph-not-found | bin/np-tools/graph-impact.cjs |
graph-path-unmapped | bin/np-tools/graph-impact.cjs |
graph-unknown-module | bin/np-tools/graph-impact.cjs |
graph-unreadable | bin/np-tools/graph-impact.cjs |
handoff-body-file-not-allowed | bin/np-tools/handoff-write.cjs |
handoff-body-file-read-failed | bin/np-tools/handoff-write.cjs |
handoff-frontmatter-missing | lib/handoff.cjs |
handoff-invalid-agent | lib/handoff.cjs |
handoff-invalid-status | lib/handoff.cjs |
handoff-missing-id | lib/handoff.cjs |
handoff-missing-topic | lib/handoff.cjs |
handoff-not-found | lib/handoff.cjs |
handoff-read-missing-id | bin/np-tools/handoff-read.cjs |
handoff-status-line-missing | lib/handoff.cjs |
handoff-status-missing-args | bin/np-tools/handoff-status.cjs |
install-config-unusable | bin/install.js |
invalid-flag | bin/install.js |
invalid-operation | bin/np-tools/propose-milestones.cjs |
invalid-operation-type | bin/np-tools/propose-milestones.cjs |
invalid-profile | lib/model-profiles.cjs |
invalid-task-status | lib/tasks.cjs |
invalid-tier | lib/model-profiles.cjs |
knowledge-adapter-unknown | lib/knowledge-adapter.cjs |
knowledge-search-missing-query | bin/np-tools/knowledge-search.cjs |
layout-invalid-id | lib/layout.cjs |
layout-invalid-number | lib/layout.cjs |
learning-log-invalid-milestone-id | bin/np-tools/learning-log.cjs |
learning-log-invalid-task-id | bin/np-tools/learning-log.cjs |
learning-log-missing-args | bin/np-tools/learning-log.cjs |
learning-match-missing-query | bin/np-tools/learning-match.cjs |
learnings-store-corrupt | lib/learnings.cjs |
learnings-store-oversized | lib/learnings.cjs |
learnings-store-unreadable | lib/learnings.cjs |
learnings-store-version-mismatch | lib/learnings.cjs |
list-task-commits-invalid | lib/git.cjs |
lock-timeout | lib/core.cjs |
loop-commit-precondition-missing | bin/np-tools/loop-run-round.cjs |
loop-evaluate-file-unreadable | bin/np-tools/loop-evaluate.cjs |
loop-evaluate-invalid-input | bin/np-tools/loop-evaluate.cjs |
loop-evaluate-invalid-json | bin/np-tools/loop-evaluate.cjs |
loop-evaluate-missing-input | bin/np-tools/loop-evaluate.cjs |
loop-post-architect-missing-spawn-audit | bin/np-tools/loop-run-round.cjs |
loop-post-critics-missing-critic-audit | bin/np-tools/loop-run-round.cjs |
loop-post-critics-round-shifted | bin/np-tools/loop-run-round.cjs |
loop-post-executor-missing-spawn-audit | bin/np-tools/loop-run-round.cjs |
loop-post-executor-round-shifted | bin/np-tools/loop-run-round.cjs |
loop-post-researcher-missing-spawn-audit | bin/np-tools/loop-run-round.cjs |
loop-post-test-writer-missing-spawn-audit | bin/np-tools/loop-run-round.cjs |
loop-preflight-already-stamped | bin/np-tools/loop-run-round.cjs |
loop-preflight-missing-query | bin/np-tools/loop-preflight.cjs |
loop-run-round-critic-outputs-path-invalid-json | bin/np-tools/loop-run-round.cjs |
loop-run-round-critic-outputs-path-invalid-shape | bin/np-tools/loop-run-round.cjs |
loop-run-round-critic-outputs-path-unreadable | bin/np-tools/loop-run-round.cjs |
loop-run-round-internal | bin/np-tools/loop-run-round.cjs |
loop-run-round-invalid-phase | bin/np-tools/loop-run-round.cjs |
loop-run-round-missing-phase | bin/np-tools/loop-run-round.cjs |
loop-run-round-post-critics-conflicting-outputs | bin/np-tools/loop-run-round.cjs |
loop-run-round-post-critics-invalid-outputs | bin/np-tools/loop-run-round.cjs |
loop-run-round-post-executor-missing-verify | bin/np-tools/loop-run-round.cjs |
loop-run-round-preflight-missing-query | bin/np-tools/loop-run-round.cjs |
loop-run-round-stuck-conflicting-findings | bin/np-tools/loop-run-round.cjs |
loop-run-round-verify-output-unreadable | bin/np-tools/loop-run-round.cjs |
loop-state-invalid-json | bin/np-tools/loop-state-record.cjs |
loop-state-invalid-value | bin/np-tools/loop-state-record.cjs |
loop-state-task-not-found | bin/np-tools/loop-state-read.cjs |
loop-state-unknown-key | bin/np-tools/loop-state-record.cjs |
manifest-build-failed | lib/install/manifest.cjs |
manifest-invalid-path | lib/install/manifest.cjs |
manifest-invalid-shape | lib/codebase-manifest.cjs |
manifest-invalid-structure | lib/install/manifest.cjs |
manifest-parse-error | lib/codebase-manifest.cjs |
manifest-parse-failed | lib/install/manifest.cjs |
manifest-path-traversal | bin/install.js |
manifest-read-error | lib/codebase-manifest.cjs |
manifest-schema-mismatch | lib/codebase-manifest.cjs |
manifest-unlink-outside-base | bin/install.js |
manifest-write-failed | lib/install/manifest.cjs |
memory-body-file-read-failed | bin/np-tools/memory-add.cjs |
memory-dim-mismatch | lib/memory.cjs |
memory-disabled | bin/np-tools/_memory-resolve.cjs |
memory-drift-detected | lib/memory.cjs |
memory-embed-mismatch | lib/memory.cjs |
memory-empty-query | lib/memory.cjs |
memory-index-desync | lib/memory-index-usearch.cjs |
memory-index-keymap-corrupt | lib/memory-index-usearch.cjs |
memory-index-missing-records | bin/np-tools/memory-index.cjs |
memory-invalid-dim | lib/memory-index-usearch.cjs |
memory-invalid-provider | lib/memory.cjs |
memory-invalid-record | lib/memory.cjs |
memory-invalid-records | lib/memory.cjs |
memory-missing-index | lib/memory.cjs |
memory-missing-provider | lib/memory.cjs |
memory-model-mismatch | lib/memory.cjs |
memory-model-not-whitelisted | lib/memory-provider-local.cjs |
memory-query-missing-text | bin/np-tools/memory-query.cjs |
memory-records-arg-invalid-json | bin/np-tools/memory-index.cjs |
memory-records-file-invalid-json | bin/np-tools/memory-index.cjs |
memory-records-file-read-failed | bin/np-tools/memory-index.cjs |
memory-records-not-array | bin/np-tools/memory-index.cjs |
memory-transformers-not-installed | lib/memory-provider-local.cjs |
memory-usearch-not-installed | lib/memory-index-usearch.cjs |
messages-already-archived | lib/messaging.cjs |
messages-archive-without-reply | lib/messaging.cjs |
messages-body-file-not-allowed | bin/np-tools/messages-send.cjs |
messages-body-file-read-failed | bin/np-tools/messages-send.cjs |
messages-body-too-large | lib/messaging.cjs |
messages-invalid-agent | lib/messaging.cjs |
messages-invalid-expects-reply | lib/messaging.cjs |
messages-invalid-id | lib/messaging.cjs |
messages-invalid-in-reply-to | lib/messaging.cjs |
messages-invalid-kind | lib/messaging.cjs |
messages-invalid-round | bin/np-tools/messages-send.cjs, lib/messaging.cjs |
messages-invalid-since | lib/messaging.cjs |
messages-missing-body | lib/messaging.cjs |
messages-missing-id | bin/np-tools/messages-archive.cjs, bin/np-tools/messages-thread.cjs |
messages-missing-phase | lib/messaging.cjs |
messages-missing-subject | lib/messaging.cjs |
messages-missing-task-id | lib/messaging.cjs |
messages-not-found | lib/messaging.cjs |
messages-response-needs-in-reply-to | lib/messaging.cjs |
messages-send-conflict | lib/messaging.cjs |
messages-vanished | lib/messaging.cjs |
metrics-invalid-phase | lib/metrics-aggregate.cjs, lib/metrics.cjs |
metrics-invalid-record | lib/metrics.cjs |
migration-downgrade-unsupported | lib/migrations.cjs |
migration-duplicate | lib/migrations.cjs |
migration-invalid-from | lib/migrations.cjs |
migration-invalid-kind | lib/migrations.cjs |
migration-invalid-step | lib/migrations.cjs |
migration-invalid-transform | lib/migrations.cjs |
migration-missing-step | lib/migrations.cjs |
migration-no-path | lib/migrations.cjs |
milestone-completed-untouchable | bin/np-tools/propose-milestones.cjs |
milestone-has-slices | bin/np-tools/propose-milestones.cjs |
milestone-meta-invalid-json | lib/milestone-meta.cjs |
milestone-meta-invalid-status | lib/milestone-meta.cjs |
milestone-meta-unreadable | lib/milestone-meta.cjs |
milestone-not-found | bin/np-tools/propose-milestones.cjs |
missing-apply-path | bin/np-tools/new-milestone.cjs, bin/np-tools/new-project.cjs, bin/np-tools/propose-milestones.cjs |
new-milestone-forbidden-write | bin/np-tools/new-milestone.cjs |
not-in-project | lib/core.cjs |
nubosloop-audit-invalid-agent | lib/nubosloop-audit.cjs |
nubosloop-audit-invalid-log | lib/nubosloop-audit.cjs |
nubosloop-audit-invalid-task-id | lib/nubosloop-audit.cjs |
nubosloop-auto-log-invalid-task-id | lib/nubosloop.cjs |
nubosloop-invalid-task-id | lib/nubosloop.cjs |
nubosloop-preflight-invalid-query | lib/nubosloop.cjs |
nubosloop-unknown-route | lib/nubosloop.cjs |
offhost-audited-agent-unsupported | lib/runtime/dispatch.cjs |
offhost-bash-requires-sandbox | lib/runtime/dispatch.cjs |
output-lint-cannot-infer-schema | bin/np-tools/output-lint.cjs |
output-lint-missing-file | bin/np-tools/output-lint.cjs |
output-lint-missing-schema | bin/np-tools/output-lint.cjs |
output-lint-unknown-verb | bin/np-tools/output-lint.cjs |
output-schema-not-found | lib/schemas/index.cjs |
output-schema-violation | lib/output-lint.cjs |
park-invalid-task-id | bin/np-tools/park.cjs |
park-missing-task-id | bin/np-tools/park.cjs |
path-not-in-project | bin/np-tools/commit-task.cjs |
phase-meta-invalid-milestone | bin/np-tools/phase-meta.cjs |
phase-meta-length-non-array | bin/np-tools/phase-meta.cjs |
phase-meta-missing-milestone | bin/np-tools/phase-meta.cjs |
phase-meta-not-found | bin/np-tools/phase-meta.cjs |
phase-meta-unknown-field | bin/np-tools/phase-meta.cjs |
phase-not-found | lib/roadmap.cjs |
plan-lint-file-not-found | bin/np-tools/plan-lint.cjs |
plan-lint-invalid-milestone | bin/np-tools/plan-lint.cjs |
plan-lint-milestone-not-found | bin/np-tools/plan-lint.cjs |
plan-lint-missing-target | bin/np-tools/plan-lint.cjs |
plan-milestone-invalid-arg | bin/np-tools/plan-milestone.cjs |
plan-milestone-not-found | bin/np-tools/plan-milestone.cjs |
plan-milestone-unknown-verb | bin/np-tools/plan-milestone.cjs |
preflight-failed | lib/runtime/preflight.cjs |
project-already-initialized | bin/np-tools/new-project.cjs |
project-not-initialized | bin/np-tools/new-milestone.cjs, bin/np-tools/propose-milestones.cjs |
propose-milestones-forbidden-write | bin/np-tools/propose-milestones.cjs |
proposed-reqs-collides-with-existing | bin/np-tools/discuss-project.cjs |
proposed-reqs-duplicate-id | bin/np-tools/discuss-project.cjs |
proposed-reqs-empty-text | bin/np-tools/discuss-project.cjs |
proposed-reqs-invalid-entry | bin/np-tools/discuss-project.cjs |
proposed-reqs-invalid-id | bin/np-tools/discuss-project.cjs |
proposed-reqs-not-array | bin/np-tools/discuss-project.cjs |
provider-bad-json | lib/runtime/providers/openai-compat.cjs |
provider-http-error | lib/runtime/providers/openai-compat.cjs |
provider-invalid-kind | lib/model-providers.cjs |
provider-missing-api-key | lib/runtime/providers/openai-compat.cjs |
provider-model-unresolved | lib/model-providers.cjs |
provider-no-base-url | lib/runtime/providers/openai-compat.cjs |
provider-no-fetch | lib/runtime/providers/openai-compat.cjs |
provider-no-model | lib/runtime/providers/openai-compat.cjs |
provider-request-failed | lib/runtime/providers/openai-compat.cjs |
provider-undefined | lib/model-providers.cjs |
render-template-invalid-vars | bin/np-tools/render-template.cjs |
render-template-missing-name | bin/np-tools/render-template.cjs |
render-template-missing-vars | bin/np-tools/render-template.cjs |
render-todo-missing-slice | bin/np-tools/render-todo.cjs |
research-invalid-phase-arg | bin/np-tools/research-phase.cjs |
research-phase-not-found | bin/np-tools/research-phase.cjs |
researcher-reconcile-invalid-milestone | bin/np-tools/researcher-reconcile.cjs |
researcher-reconcile-missing-file | bin/np-tools/researcher-reconcile.cjs |
researcher-reconcile-no-final | bin/np-tools/researcher-reconcile.cjs |
researcher-reconcile-no-research-dir | lib/researcher-reconciler.cjs |
researcher-reconcile-no-spawn-files | lib/researcher-reconciler.cjs |
researcher-reconcile-unknown-verb | bin/np-tools/researcher-reconcile.cjs |
researcher-spawn-frontmatter | lib/researcher-reconciler.cjs |
researcher-spawn-missing | lib/researcher-reconciler.cjs |
reset-slice-invalid-task-id | bin/np-tools/reset-slice.cjs |
reset-slice-no-state | bin/np-tools/reset-slice.cjs |
roadmap-base-phase-not-found | lib/roadmap.cjs |
roadmap-description-too-long | lib/roadmap.cjs |
roadmap-duplicate-milestone | bin/np-tools/new-milestone.cjs, lib/roadmap.cjs |
roadmap-duplicate-slug | lib/roadmap.cjs |
roadmap-invalid-description | lib/roadmap.cjs |
roadmap-invalid-milestone | lib/roadmap.cjs |
roadmap-invalid-milestone-id | lib/roadmap.cjs |
roadmap-invalid-patch | lib/roadmap.cjs |
roadmap-invalid-requirements | lib/roadmap.cjs |
roadmap-invalid-slug | lib/roadmap.cjs |
roadmap-invalid-status | lib/roadmap.cjs |
roadmap-invalid-success-criteria | lib/roadmap.cjs |
roadmap-milestone-not-found | lib/roadmap.cjs |
roadmap-missing | bin/np-tools/propose-milestones.cjs |
roadmap-parse-error | bin/np-tools/new-milestone.cjs, bin/np-tools/propose-milestones.cjs, lib/roadmap.cjs |
roadmap-render-read-error | lib/roadmap-render.cjs |
roadmap-too-large | lib/roadmap.cjs |
roadmap-unsupported-schema | lib/roadmap-schema.cjs |
roadmap-write-parse-error | lib/roadmap.cjs |
roadmap-write-read-error | lib/roadmap.cjs |
runtime-unknown | lib/runtime/index.cjs |
safe-path-base-missing | lib/safe-path.cjs |
safe-path-flag-value-looks-like-flag | lib/safe-path.cjs |
safe-path-invalid-git-ref | lib/safe-path.cjs |
safe-path-invalid-identifier | lib/safe-path.cjs |
safe-path-invalid-input | lib/safe-path.cjs |
safe-path-missing-flag-value | lib/safe-path.cjs |
safe-path-outside-base | lib/safe-path.cjs |
scan-codebase-missing-module | bin/np-tools/scan-codebase.cjs |
scan-codebase-missing-prose | bin/np-tools/scan-codebase.cjs |
scan-codebase-module-not-found | bin/np-tools/scan-codebase.cjs |
scan-codebase-not-initialized | bin/np-tools/scan-codebase.cjs |
scan-codebase-prose-unreadable | bin/np-tools/scan-codebase.cjs |
scan-cwd-unreadable | lib/workspace-scan.cjs |
scan-not-a-directory | lib/workspace-scan.cjs |
schema-version-mismatch | lib/state.cjs |
session-aggregate-failed | bin/np-tools/session-aggregate.cjs |
session-pointer-invalid-iso | bin/np-tools/session-pointer-write.cjs |
session-pointer-missing-iso | bin/np-tools/session-pointer-write.cjs |
simplify-debt-unknown-verb | bin/np-tools/simplify-debt.cjs |
skill-audit-missing-skill | bin/np-tools/skill-audit.cjs |
skip-invalid-task-id | bin/np-tools/skip.cjs |
skip-missing-task-id | bin/np-tools/skip.cjs |
spawn-headless-agent-not-found | bin/np-tools/spawn-headless.cjs |
spawn-headless-audit-persist-failed | bin/np-tools/spawn-headless.cjs |
spawn-headless-claude-not-found | bin/np-tools/spawn-headless.cjs |
spawn-headless-depth-exceeded | bin/np-tools/spawn-headless.cjs |
spawn-headless-invalid-agent-name | bin/np-tools/spawn-headless.cjs |
spawn-headless-invalid-timeout | bin/np-tools/spawn-headless.cjs |
spawn-headless-locked | bin/np-tools/spawn-headless.cjs |
spawn-headless-missing-agent | bin/np-tools/spawn-headless.cjs |
spawn-headless-missing-output-path | bin/np-tools/spawn-headless.cjs |
spawn-headless-missing-prompt-path | bin/np-tools/spawn-headless.cjs |
spawn-headless-prompt-unreadable | bin/np-tools/spawn-headless.cjs |
spawn-headless-reentrant | bin/np-tools/spawn-headless.cjs |
spawn-headless-spawn-failed | bin/np-tools/spawn-headless.cjs |
spawn-headless-timed-out | bin/np-tools/spawn-headless.cjs |
staging-clean-failed | lib/install/staging.cjs |
staging-mkdir-failed | lib/install/staging.cjs |
staging-swap-failed | lib/install/staging.cjs |
state-dir-invalid-subdir | bin/np-tools/state-dir.cjs |
state-incr-missing-key | bin/np-tools/state-incr.cjs |
state-incr-unknown-key | bin/np-tools/state-incr.cjs |
target-is-symlink | bin/install.js |
task-commit-not-found | lib/git.cjs |
task-frontmatter-missing | lib/tasks.cjs |
task-not-found | lib/tasks.cjs |
task-plan-unreadable | lib/tasks.cjs |
task-status-line-missing | lib/tasks.cjs |
tasks-cyclic | lib/tasks.cjs |
tasks-invalid-frontmatter | lib/tasks.cjs |
tasks-invalid-owner | lib/tasks.cjs |
tasks-invalid-status | lib/tasks.cjs |
tasks-invalid-tier | lib/tasks.cjs |
tasks-unknown-dep | lib/tasks.cjs |
template-invalid-name | bin/np-tools/template-path.cjs |
template-not-found | bin/np-tools/template-path.cjs, lib/template.cjs |
template-path-traversal | bin/np-tools/template-path.cjs |
template-unresolved-var | bin/np-tools/new-milestone.cjs, bin/np-tools/new-project.cjs, bin/np-tools/propose-milestones.cjs, lib/template.cjs |
thread-resume-missing-path | bin/np-tools/thread-resume.cjs |
thread-resume-parse-error | bin/np-tools/thread-resume.cjs |
thread-resume-read-error | bin/np-tools/thread-resume.cjs |
todo-missing-slice-id | lib/todo.cjs |
tool-bad-args | lib/runtime/tools/index.cjs |
tool-edit-ambiguous | lib/runtime/tools/index.cjs |
tool-edit-no-match | lib/runtime/tools/index.cjs |
tool-file-too-large | lib/runtime/tools/index.cjs |
tool-path-symlink | lib/runtime/tools/index.cjs |
undo-invalid-prefix | bin/np-tools/undo.cjs |
undo-missing-prefix | bin/np-tools/undo.cjs |
undo-task-commit-not-found | bin/np-tools/undo-task.cjs |
undo-task-invalid-id | bin/np-tools/undo-task.cjs |
undo-task-missing-id | bin/np-tools/undo-task.cjs |
unknown-command | np-tools.cjs |
unknown-init-workflow | np-tools.cjs |
unpark-invalid-task-id | bin/np-tools/unpark.cjs |
unpark-missing-task-id | bin/np-tools/unpark.cjs |
update-docs-missing-module | bin/np-tools/update-docs.cjs |
update-docs-missing-prose | bin/np-tools/update-docs.cjs |
update-docs-module-not-found | bin/np-tools/update-docs.cjs |
update-docs-not-initialized | bin/np-tools/update-docs.cjs |
update-docs-prose-unreadable | bin/np-tools/update-docs.cjs |
update-phase-meta-invalid-json | bin/np-tools/update-phase-meta.cjs |
update-phase-meta-invalid-milestone | bin/np-tools/update-phase-meta.cjs |
update-phase-meta-missing-json | bin/np-tools/update-phase-meta.cjs |
update-phase-meta-missing-milestone | bin/np-tools/update-phase-meta.cjs |
verify-file-unreadable | lib/verify.cjs |
verify-milestone-dir-missing | lib/verify.cjs |
verify-work-file-unreadable | bin/np-tools/verify-work.cjs |
verify-work-invalid-phase | bin/np-tools/verify-work.cjs |
verify-work-invalid-sc-id | bin/np-tools/verify-work.cjs |
verify-work-invalid-status | bin/np-tools/verify-work.cjs |
verify-work-milestone-dir-missing | bin/np-tools/verify-work.cjs |
verify-work-not-found | bin/np-tools/verify-work.cjs |
verify-work-sc-not-found | bin/np-tools/verify-work.cjs |
verify-work-unknown-verb | bin/np-tools/verify-work.cjs |
workspace-scan-invalid-batch-size | bin/np-tools/workspace-scan.cjs |
worktree-add-failed | lib/worktree.cjs |
worktree-already-exists | lib/worktree.cjs |
worktree-branch-conflict | lib/worktree.cjs |
worktree-branch-delete-failed | lib/worktree.cjs |
worktree-branch-missing | lib/worktree.cjs |
worktree-create-missing-slice | bin/np-tools/worktree-create.cjs |
worktree-ff-merge-missing-slice | bin/np-tools/worktree-ff-merge.cjs |
worktree-ff-not-possible | lib/worktree.cjs |
worktree-ff-wrong-branch | lib/worktree.cjs |
worktree-gitignore-check-failed | lib/worktree.cjs |
worktree-list-failed | lib/worktree.cjs |
worktree-not-git-repo | lib/worktree.cjs |
worktree-not-gitignored | lib/worktree.cjs |
worktree-prune-failed | lib/worktree.cjs |
worktree-remove-failed | lib/worktree.cjs |
worktree-remove-missing-slice | bin/np-tools/worktree-remove.cjs |
worktree-rev-parse-failed | lib/worktree.cjs |
yaml-invalid-input | lib/yaml.cjs |
yaml-parse-failed | lib/yaml.cjs |
yaml-too-large | lib/yaml.cjs |
Total: 465 codes.
