AIWorkhub
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AIWORKHUB_REPO_ROOT | No | Repository the server binds to; when set it takes precedence over the working directory. Default: unset — the nearest `.aiworkhub/project.json` above the working directory within its Git repository, else that Git root. | |
| AIWORKHUB_ALLOW_LAUNCH | No | Only the exact value `1` enables worker launches; launches also need `AIWORKHUB_ALLOW_WRITES=1`. | 0 |
| AIWORKHUB_ALLOW_WRITES | No | Only the exact value `1` enables write tools. | 0 |
| AIWORKHUB_MAX_PROCESSES | No | Cap on workers running at once; values below 1 become 1 and values above 32 become 32. | 4 |
| AIWORKHUB_PROVIDER_LAUNCH_LIMITS | No | Per-provider launch limits as `provider=limit` pairs, for example `opencode-go=1,xai=2`; listed providers override the default entry by entry. | opencode-go=1 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| aiworkhub_manager_bootstrapB | CALL FIRST: mandatory repository manager contract and callback workflow. The identity block -- role, verified route, repository and storage readiness, task health, the last hygiene pass and the Claude-route dispatcher state -- is on every reply, so repository_current and task_health need no call of their own. The contract prose is delivered once per verified session and then suppressed with its sha; pass include_contract=true to re-read it, or known_contract_sha256 to prove you already hold it. A reply that suppresses the contract ( |
| aiworkhub_manager_semantic_edit_prepareC | MANAGER EDIT: bind one verified file range before changing it. |
| aiworkhub_manager_semantic_edit_applyA | MANAGER EDIT: replace exactly one prepared, hash-bound range.
|
| aiworkhub_manager_source_graph_queryC | MANAGER CODE DISCOVERY: use first and continuously before built-in file search. |
| aiworkhub_manager_session_current_stateC | MANAGER READ: bounded canonical Session Manager current state. |
| aiworkhub_manager_ai_memory_searchC | MANAGER READ: bounded canonical AI Memory search. |
| aiworkhub_manager_ai_memory_getB | MANAGER READ: exact active canonical AI Memory lookup. |
| aiworkhub_manager_ai_memory_relatedC | MANAGER READ: bounded related canonical AI Memory lookup. |
| aiworkhub_manager_kb_searchC | MANAGER READ: bounded canonical KB search. |
| aiworkhub_manager_kb_getB | MANAGER READ: exact canonical KB entry lookup. |
| aiworkhub_manager_kb_relatedC | MANAGER READ: bounded canonical KB relation lookup. |
| aiworkhub_manager_context_graph_searchB | MANAGER READ: search exact transcript-backed Context Graph evidence. |
| aiworkhub_manager_context_graph_rangeA | MANAGER READ: retrieve an exact bounded transcript range around one event. |
| aiworkhub_manager_context_graph_relatedC | MANAGER READ: retrieve bounded deterministic relations for one graph node. |
| aiworkhub_manager_context_graph_event_writeC | MANAGER WRITE: append one exact current-thread conversation event. |
| aiworkhub_manager_context_graph_rebuildB | MANAGER WRITE: rebuild derived graph state from the immutable ledger. |
| aiworkhub_manager_workforce_catalogA | MANAGER READ: configured models joined to observed canonical outcomes.
|
| aiworkhub_manager_workforce_rankC | MANAGER READ: explainable cheapest-capable routing from current evidence.
|
| aiworkhub_manager_task_decomposition_previewA | MANAGER READ: validate a Source Graph-grounded child-DAG proposal. This operation never creates or launches tasks. The returned digest is an advisory proposal that requires a separate explicit manager decision. |
| aiworkhub_manager_session_writeA | MANAGER WRITE: append one audited canonical Session Manager event, or edit one existing event. Append actions: start, event, checkpoint, state, handoff, close (no
document_id). Edit actions: |
| aiworkhub_manager_ai_memory_writeC | MANAGER WRITE: remember, update, supersede, or archive canonical memory. |
| aiworkhub_manager_kb_writeC | MANAGER WRITE: upsert, ingest, supersede, or archive canonical KB data. |
| aiworkhub_manager_learning_commitA | MANAGER WRITE: persist and project one verified Learning Commit. SHORT FORM -- the one to use: Add your own references with
LONG FORM (compatibility): supply repo_area, outcome, evidence_ids, idempotency_key and provenance yourself and nothing is resolved. The lesson text is always the caller's; nothing is written without this call. |
| aiworkhub_manager_needfix_markdown_previewC | MANAGER READ: preview bounded captured NeedFix candidates from Markdown. |
| aiworkhub_manager_needfix_markdown_commitC | MANAGER WRITE: commit an exact Markdown preview as captured items only. |
| aiworkhub_manager_workforce_upsertC | MANAGER WRITE: audited bounded upsert of one repository worker model. |
| aiworkhub_manager_context_importC | MANAGER: dry-run, apply or rollback one explicit repo-local legacy context store. |
| aiworkhub_manager_context_write_intentsC | MANAGER READ: inspect authenticated worker context-write proposals. |
| aiworkhub_manager_context_write_intent_disposeC | MANAGER WRITE: explicitly accept or reject one worker proposal. |
| aiworkhub_manager_skill_proposeA | MANAGER WRITE: register and persist one proposed skill. Give CLOSED VOCABULARIES -- a value outside these is refused before any write:
scope repository | global
risk low | medium | high | critical
stage orientation | implementation | validation | review | rework
task_family analysis | bugfix | data_ml | docs | implementation |
performance | refactor | replay | security | test
triggers authority_boundary | code_change | combined_change |
concurrency | destructive_change | missing_validation |
public_api | release | schema_migration | security_sensitive |
clean_verdict_without_input_check | silently_bounded_population |
single_bucket_aggregate | swallowed_exception_default |
unknown_or_empty_result
applicability
aggregation_reader | observability_surface | quality_gate |
readiness_preflight | authority_boundary_surface |
concurrency_surface | public_api_surface | release_surface |
security_surface | storage_schema_surface
version semver MAJOR.MINOR.PATCH with optional -prerelease/+build
identity ^[a-z][a-z0-9_.-]{0,127}$
confidence a finite float in [0, 1]
path_or_symbol
a repository-RELATIVE path or symbol; absolute paths and The proposal is evidence-free and a duplicate identity/version is refused without overwriting the stored record. It is never ACTIVE on creation: activation needs accepted evidence from two DISTINCT actor identities and stays a separate manager decision. |
| aiworkhub_manager_skill_add_evidenceA | MANAGER WRITE: append one MANAGER evidence entry to a skill version. CLOSED VOCABULARIES -- a guess is refused before a turn is spent:
outcome accepted | negative
actor_id ^[a-z][a-z0-9_.-]{0,127}$, and it may NOT contain the reserved
role tokens Two spellings of one manager are ONE actor: identities are compared in their
canonical form, so When |
| aiworkhub_manager_skill_usageA | MANAGER READ: per-skill usage statistics, measured from the stored record. For every stored skill version: how many versions of that identity are proposed, its evidence rows split by outcome (accepted/negative), the number of CANONICAL independent actor identities its accepted evidence rests on (not the raw strings -- two spellings of one manager count once), the cards it was injected into according to the persisted selection receipts, whether it is injectable at all, and when it is not, the exact named reason: lifecycle_state_is_retired unresolved_negative_evidence activation_evidence_below_two_distinct_actors lifecycle_state_is_proposed_not_active Read-only. It never activates, retires or evidences anything. |
| aiworkhub_manager_skill_activateB | MANAGER WRITE: activate a proposed skill, evidence-gated and fail-closed. The registry's activation threshold is enforced unchanged; when it is unmet the registry's own reason is returned and the stored record is left as it was. |
| aiworkhub_manager_skill_mineA | MANAGER READ: mine the correction record into gated skill PROPOSALS. Clusters every stored rejection instruction and adjudicated invariant by the
RULE it asserts -- instance vocabulary (paths, identifiers, ids, digits) is
deleted before anything is compared -- then promotes only families that
recurred across at least Read-only. It produces proposals, never activations: the returned draft
reaches the store only if a manager passes it to
|
| aiworkhub_manager_skill_retirement_reportA | MANAGER READ: measure every stored skill against its own failure class. Reports, per skill, whether it is injectable at all, the cards its evidence anchors to, and the adjudicated outcome of those cards. It also reports whether the injection denominator exists in this repository -- and when it does not, says so with both counts instead of computing a rate against a zero denominator. Verdicts are recommendations; retirement stays manager-gated and this never writes. Summary mode (default) folds each skill's |
| aiworkhub_manager_skill_evidence_sweepA | MANAGER WRITE: backfill learning-commit evidence for every recorded commit. Bounded and resumable like every other sweep here: pass back
|
| aiworkhub_manager_loop_startC | MANAGER WRITE: open the repository's one manager agent loop session. |
| aiworkhub_manager_loop_ensureA | MANAGER WRITE: attach to the repository's one passive manager conversation. Synchronous and provider-free: no backend is built and no model is
called. Takes the launching gate like |
| aiworkhub_manager_loop_restoreA | MANAGER WRITE: load the last manager conversation. Does not create one. Synchronous and provider-free. The panel calls this on open. The first
|
| aiworkhub_manager_loop_renameC | MANAGER WRITE: rename one saved manager conversation. |
| aiworkhub_manager_loop_discardB | MANAGER WRITE: delete one saved manager conversation. |
| aiworkhub_manager_loop_continueA | MANAGER WRITE: continue one saved manager conversation. Synchronous and provider-free. The chosen record becomes the active session and the persisted selection. A picked backend_id/model is authorized and pinned on it without starting it; the pick renews the manager seat. Refused while a turn is running. |
| aiworkhub_manager_loop_newA | MANAGER WRITE: close the current conversation and open a fresh passive one. Synchronous and provider-free. The displaced record gets a mechanical handoff. Refused while a turn is running. |
| aiworkhub_manager_loop_sendA | MANAGER WRITE: run one manager turn in the background. Returns at once with
|
| aiworkhub_manager_loop_rotateB | MANAGER WRITE: close the session with a handoff, in the background. Returns at once with |
| aiworkhub_manager_loop_statusA | MANAGER READ: the active session, whether a turn is running, queued owner sends, and the last turn's outcome. |
| aiworkhub_manager_loop_eventsA | MANAGER READ: bounded session events, for incremental client polling. Events with seq greater than after_seq, bounded to limit, and |
| aiworkhub_manager_loop_closeB | MANAGER WRITE: release the backend and lock at shutdown, without a model turn. |
| aiworkhub_manager_loop_stopB | MANAGER WRITE: end a running turn's CLI process now, without waiting for it. |
| aiworkhub_manager_recipe_registerA | MANAGER WRITE: register and persist one caller-defined tool recipe.
This registers a DESCRIPTION of an invocation. It never runs one. |
| aiworkhub_manager_recipe_seed_canonicalA | MANAGER WRITE: install the catalogue of this repository's own invocations. Each entry of Per-project, not a fixed list. The universal entries -- the git
workspace/finalization/diff probes and the packaged |
| aiworkhub_manager_recipe_seed_planA | MANAGER READ: which catalogue entries THIS project would be seeded. The same per-project decision |
| aiworkhub_manager_recipe_listB | MANAGER READ: bounded identity/contract listing of persisted recipes. Returns each manifest's identity, digest, purpose, risk, capabilities and
parameter signature -- never its argv template. An empty store is a
legitimate repository state and returns |
| aiworkhub_manager_recipe_usageA | MANAGER READ: which registered recipes are actually used, and by whom.
The actor on every receipt is derived by the server from the verified
route, never from a caller-supplied string, so
|
| aiworkhub_manager_recipe_showA | MANAGER READ: one persisted recipe in its exact canonical manifest form. With |
| aiworkhub_manager_recipe_runA | MANAGER EXECUTE: run one PERSISTED recipe and return a bounded digest. What runs is the immutable stored manifest resolved from the registry, not
a mapping typed at call time: A non-zero exit is a RESULT, not an error: the digest carries the return
code, the duration, stdout/stderr tails capped at 4096 characters with
explicit truncation flags, and the path plus SHA-256 of the full output
file, so the whole stream stays retrievable without being carried here.
Every run persists a |
| aiworkhub_vscode_lm_worker_toolC | PRIVATE BRIDGE: execute one active GLM call with worker-scoped audit authority. |
| aiworkhub_router_known_repositoriesB | READ-ONLY: bounded shared registry of live AIWorkHub repository routes. This is discovery only. Task storage and task mutation remain scoped to
the current repository's own |
| aiworkhub_repo_listC | READ-ONLY: bounded live repository identities available to this manager. |
| aiworkhub_repo_currentB | READ-ONLY: exact current repository, binding source, and manager route. |
| aiworkhub_repo_switchB | MANAGER OPERATION: atomically switch to one live manager-owned repo_id. |
| aiworkhub_task_createA | MANAGER WRITE: create one new canonical repo-local task card. Creation choices (also exposed as field hints): difficulty: bounded, standard, complex (optional; never inferred). work_kind: generic, bugfix, refactor, performance, security, data_ml. validation_roles: generic, reproduction, regression, parity, baseline, delta, negative_fixture, schema, distribution; one per validation command. Required roles: bugfix=reproduction+regression; refactor=parity; performance=baseline+delta; security=negative_fixture; data_ml=schema+distribution. validation: shell-free executable commands; no environment assignments, pipes, redirects or chaining. Set environment outside validation argv. custom_template_escape: audited_custom_unclassified, explicitly audited unclassified cards only, not an automatic bypass; writable escaped cards require non-empty required_outputs covered by allowed_writes. Replies with a creation receipt ( |
| aiworkhub_task_create_from_templateA | MANAGER WRITE: create one task from an authenticated template. Replies with the same creation receipt as |
| aiworkhub_task_template_listB | MANAGER READ: list the bounded repository-bound template registry. |
| aiworkhub_task_template_showB | MANAGER READ: show one exact short or full template ID, fail closed. |
| aiworkhub_task_plan_snapshotA | READ-ONLY: bounded Plan-DAG summary, or the complete DAG with Default mode reports actionable lifecycle, ready work, blockers,
write-scope overlaps, orphaned processing and DAG validity without
repeating every finished card's dependency history. Use |
| aiworkhub_task_healthB | Check parent AIWorkHub task queue health and write-gate state. |
| aiworkhub_task_review_queueA | List tasks waiting for Codex review. |
| aiworkhub_task_listC | List task cards by status and optional topic. |
| aiworkhub_task_showA | Show a single task card by task_id. Summary-first by default: retained baseline hash maps (tree, workspace and
parent baselines) are folded to entry count plus sha256, and the evidence
blobs (terminal_review.evidence.{validation, quality_gate, quality_review,
quality_review_receipt, worker_mcp_gate, workspace} and
accept_evidence.{validation, quality_gate}) are folded to
{summarized, bytes, sha256, verdict/status, failed_count, first_failure}.
The manager-authored bodies ( |
| aiworkhub_task_pending_for_runnerB | Return pending cards for a specific runner as raw output plus parsed JSONL rows. |
| aiworkhub_task_auto_pickup_dryrunA | READ-ONLY: preview which task auto_pickup WOULD claim for a runner/topic. Reports the candidate task_id, a compact card, and runner/topic filtering
counts WITHOUT mutating the parent queue and WITHOUT touching the write gate.
Never invokes the write-gated auto-pickup command; uses only the read-only
|
| aiworkhub_task_dependency_autolaunch_reconcileC | MANAGER WRITE: bounded startup reconciliation for dependency-ready children. |
| aiworkhub_task_reject_reviewA | Write-gated Codex action: reject a reviewed task with exact feedback and
an explicit disposition.
Replies with a receipt ( |
| aiworkhub_task_recover_blocked_reworkC | Recover one exact blocked task through the canonical transaction.
When the core result's |
| aiworkhub_task_retry_terminalA | COORDINATOR WRITE: retry one exact operational terminal episode. Only blocked cancelled/timed-out/launch/worker/process/liveness failures are eligible. The exact prior request id and substatus are mandatory; semantic validation/review failures remain on their established review workflow. The same task ID is requeued and its append-only audit history is preserved. Replies with a receipt ( |
| aiworkhub_task_reroute_launch_identityC | COORDINATOR WRITE: explicitly reroute one pending retry launch identity. |
| aiworkhub_task_archiveA | COORDINATOR WRITE: archive stale non-processing tasks atomically
(archived_at + card_json + an Targets: one |
| aiworkhub_manager_reconcile_dead_processingC | MANAGER WRITE: reconcile one exact authenticated dead blocked claim. |
| aiworkhub_task_supersedeA | COORDINATOR WRITE: supersede a stale/active task with a replacement. Archives the card as Replies with a receipt ( |
| aiworkhub_manager_task_archiveA | MANAGER WRITE: archive non-processing cards without deleting audit history. Targets: one |
| aiworkhub_manager_task_supersedeC | MANAGER WRITE: supersede an orphaned active card while preserving audit history. |
| aiworkhub_task_collision_guardC | Run the task collision guard for active cards. |
| aiworkhub_task_usage_reportC | Return task usage report, optionally filtered. |
| aiworkhub_task_audit_log_readA | Read-only: inspect write-gate audit log summaries. Returns counts by tool/action and the last N audit entries. Never writes, never enables writes, never launches processes. All authority flags are preserved false. |
| aiworkhub_task_review_summarizeB | READ-ONLY: Inspect review queue, group tasks by topic/runner, return Codex review checklist. Calls the B110 review_summarizer core (read-only contract). Returns grouped tasks, validation commands, allowed_writes counts, and a Codex-ready review checklist shape. FROZEN INPUT SCHEMA — no write-gate toggle, no mutation parameters. Never calls taskctl done/review/start/auto-pickup/add-card. Never mutates queue or audit state. Never launches agents or model processes. Writes remain default-off regardless of input values. |
| aiworkhub_task_codex_handoffA | READ-ONLY: Codex-ready HANDOFF report for review-queue tasks. For each task waiting on Codex review, summarizes task_id, runner, topic, allowed_writes, validation commands, derived risks, commit-hygiene status, and a scoped stage/finalize command list — WITHOUT mutating the parent task queue. FROZEN READ-ONLY CONTRACT — no write-gate toggle, no mutation parameters. Never calls taskctl done/review/start/auto-pickup/add-card. Never mutates queue or audit state. Never launches agents or processes. Writes remain default-off regardless of input values. |
| aiworkhub_task_codex_handoff_markdownA | READ-ONLY: Codex-ready HANDOFF report rendered as compact Markdown. Builds the same B116 handoff report as FROZEN READ-ONLY CONTRACT — no write-gate toggle, no mutation parameters. Never calls taskctl done/review/start/auto-pickup/add-card. Never mutates queue or audit state. Never launches agents or processes. Writes remain default-off regardless of input values. |
| aiworkhub_supervisor_loop_statusB | READ-ONLY: derive supervisor_state + error taxonomy for a task_id. Implements the B08 contract's 7-step derivation over the LIVE queue (task_mcp_supervisor_loop_status_tool_b08_v1.json): fetch_status via core.show_task, then runner_topic_mismatch / missing_artifact / collision / stale_task / failed_validation checks, falling through to a read-only lifecycle_state -> supervisor_state mapping when none trip. FROZEN READ-ONLY CONTRACT -- no write-gate toggle, no mutation parameters. Never calls taskctl done/review/start/auto-pickup/add-card. Never mutates queue or audit state. Never launches agents or processes. Writes remain default-off regardless of input values. |
| aiworkhub_cli_adapter_plan_readonlyA | Return a validated launch PLAN without writing anything. Wraps |
| aiworkhub_cli_adapter_audit_summary_readonlyB | Return a read-only summary of the write-gate audit log. Delegates to |
| aiworkhub_cli_adapter_report_readonlyC | One read-only call returning BOTH a validated plan and an audit summary. |
| aiworkhub_dashboard_snapshotA | READ-ONLY: build the canonical dashboard queue, health, and storage snapshot for the active repository. Use the default compact mode for manager queue summaries and status counts, or full=True for the native Webview payload; use aiworkhub_dashboard_health for a cheap connection check or aiworkhub_dashboard_task_detail for one task card. Reads canonical SQLite state and cached storage telemetry without mutating tasks or launching processes. |
| aiworkhub_dashboard_task_detailA | READ-ONLY: return the canonical detail, events, and validation evidence for one task card. Use this to inspect a specific task's contract, history, and attempt receipts; use aiworkhub_dashboard_snapshot for queue-wide status counts or aiworkhub_dashboard_task_live_output for live process stdout and stderr. Validates task_id format before querying read-only task storage and never mutates state. |
| aiworkhub_dashboard_healthA | READ-ONLY: perform a fast storage readiness, manager identity, and dispatcher health check for the active repository. Use this for lightweight connection-banner polling or pre-initialization checks; use aiworkhub_dashboard_snapshot when you need task queue counts, process rows, or cost summaries, or aiworkhub_dashboard_initialize when storage reports not_initialized. Probes storage readiness and cached observability without building the full queue snapshot or mutating repository state. |
| aiworkhub_dashboard_task_live_outputA | READ-ONLY: read a bounded page of live stdout and stderr output for one task's active or latest worker run. Use this to stream or page incremental worker process output from a byte cursor; use aiworkhub_dashboard_task_detail for the task contract and attempt history, or aiworkhub_dashboard_snapshot for queue-wide status. Validates task_id format and reads only that task's log files without mutating state. |
| aiworkhub_dashboard_memoryA | READ-ONLY: list the newest canonical AI Memory entries for the active repository. Use this to browse stored AI Memory rows and lifecycle statuses in the dashboard; use aiworkhub_dashboard_sessions or aiworkhub_dashboard_kb to browse session transcripts or Knowledge Base entries. Opens the repository memory SQLite database in read-only mode and never increments access counters or mutates rows. |
| aiworkhub_dashboard_sessionsA | READ-ONLY: list the newest Session Manager transcript documents for the active repository. Use this to inspect recent session continuity documents in the dashboard; use aiworkhub_dashboard_memory for durable AI Memory keys or aiworkhub_dashboard_kb for Knowledge Base articles. Opens the canonical transcript SQLite database read-only and never modifies session checkpoints or access state. |
| aiworkhub_dashboard_kbA | READ-ONLY: list the newest canonical Knowledge Base entries for the active repository. Use this to browse repository Knowledge Base articles, categories, and tags in the dashboard; use aiworkhub_dashboard_memory for key-value AI Memory rows or aiworkhub_dashboard_sessions for session transcripts. Opens the KB SQLite store in read-only mode without mutating entries or usage counters. |
| aiworkhub_dashboard_skillsA | READ-ONLY: return measured skill lifecycle counts and selection or injection coverage for the active repository. Use this to audit active skill reachability, selection receipts, and consecutive empty-injection streaks; use aiworkhub_dashboard_settings for feature switches or aiworkhub_dashboard_snapshot for task queue state. Reads the skill registry and receipt store without mutating state, and reports measured=False with an explicit reason when the store is absent or unreadable. |
| aiworkhub_dashboard_needfix_listA | READ-ONLY: list bounded NeedFix inbox items with optional status, kind, severity, and archive filters. Use this to browse or page through NeedFix summaries; use aiworkhub_dashboard_needfix_detail to fetch full description, scope, provenance, and audit events for one item, or aiworkhub_dashboard_roadmap_list for Roadmap items. Reads the NeedFix SQLite store without mutating state. |
| aiworkhub_dashboard_needfix_detailA | READ-ONLY: return one NeedFix item with full detail fields and its bounded audit event history. Use this to inspect a single NeedFix item's description, scope, evidence, and lifecycle events; use aiworkhub_dashboard_needfix_list to browse summary rows or aiworkhub_dashboard_needfix_convert_preview to preview task conversion. Validates needfix_id format and reads the NeedFix store without mutating state. |
| aiworkhub_dashboard_needfix_convert_previewA | READ-ONLY: preview the normalized task card and plan_digest for converting a NeedFix item into a task. Call this before aiworkhub_dashboard_needfix_convert_commit to inspect the normalized card, validation role requirements, and the plan_digest required to commit; use aiworkhub_dashboard_needfix_detail to inspect the NeedFix item itself. Normalizes the task plan and caches the signed preview in memory without creating a task or mutating durable store state. |
| aiworkhub_dashboard_needfix_captureA | USER WRITE: capture a new NeedFix item or deduplicate against an existing live row. Use this to record a new bug or proposal in the NeedFix inbox; use aiworkhub_dashboard_needfix_update to edit an existing item or aiworkhub_dashboard_needfix_transition to change status. Requires an open write gate, normalizes kind synonyms, persists the new or deduplicated row in the NeedFix store, and returns a capture receipt. |
| aiworkhub_dashboard_needfix_updateA | USER WRITE: update mutable content and classification fields on an existing NeedFix item. Use this to edit title, description, scope, kind, severity, tags, or readiness_score; use aiworkhub_dashboard_needfix_transition to change lifecycle status or aiworkhub_dashboard_needfix_capture to create a new item. Requires an open write gate, persists field changes and an audit event in the NeedFix store, and returns a delta receipt. |
| aiworkhub_dashboard_needfix_transitionA | USER WRITE: apply one confirmed lifecycle status transition to a NeedFix item. Use this to triage, accept, reject, defer, mark duplicate, mark task_planned, resolve, or recover a conversion claim; use aiworkhub_dashboard_needfix_archive, aiworkhub_dashboard_needfix_restore, or aiworkhub_dashboard_needfix_convert_commit for archive, restore, or task creation. Requires confirm=True, persists the state transition and audit event in the NeedFix store, and returns a transition receipt. |
| aiworkhub_dashboard_needfix_archiveA | USER WRITE: archive one non-converting NeedFix item without deleting its stored record. Use this to move an inactive or obsolete NeedFix row out of the active inbox; use aiworkhub_dashboard_needfix_restore to return an archived row to an active status, or aiworkhub_dashboard_needfix_purge to permanently delete an archived row. Requires confirm=True, refuses rows currently in converting status, sets status to archived with an audit event in the NeedFix store, and returns the updated item. |
| aiworkhub_dashboard_needfix_restoreA | USER WRITE: restore an archived NeedFix item to an active non-terminal lifecycle status. Use this to unarchive a NeedFix row previously archived with aiworkhub_dashboard_needfix_archive; use aiworkhub_dashboard_needfix_transition to advance the lifecycle of an already-active item. Requires confirm=True and a row currently in archived status, clears archived_at, sets status to target_status, records a restored audit event, and returns the updated item. |
| aiworkhub_dashboard_needfix_purgeA | DESTRUCTIVE: permanently delete one archived NeedFix row from the NeedFix table while retaining an audit snapshot. Use aiworkhub_dashboard_needfix_archive first to archive the item safely, or aiworkhub_dashboard_needfix_restore to recover an archived item instead of deleting it. Requires confirm=True, a non-empty audit_reason, and an already-archived row; records a purged audit event with the row snapshot and permanently deletes the row from the needfix table. |
| aiworkhub_dashboard_needfix_convert_commitA | USER WRITE: convert an accepted NeedFix item into a canonical task card without launching a worker. Call aiworkhub_dashboard_needfix_convert_preview first to obtain the required plan_digest; use aiworkhub_dashboard_needfix_link_existing_task instead when a finished accepted task already resolves the item. Requires confirm=True and a matching plan_digest, creates the task card in the task store, transitions the NeedFix item to task_created, and never spawns a worker process. |
| aiworkhub_dashboard_needfix_link_existing_taskA | USER WRITE: link a NeedFix item to an existing finished, manager-accepted task in the same repository. Use this when an already-completed canonical task resolves the NeedFix item; use aiworkhub_dashboard_needfix_convert_commit instead to create a new task card from the NeedFix. Requires confirm=True, verifies the target task exists and is finished and accepted (plus integrated_commit when supplied), and persists the task link and audit event in the NeedFix store. |
| aiworkhub_dashboard_needfix_reopen_superseded_task_linkA | USER WRITE: reopen a NeedFix item whose linked converted task was archived or superseded. Use this when a converted task was superseded or archived without resolving the NeedFix so a new conversion can mint a successor -rN task; use aiworkhub_dashboard_needfix_transition for normal lifecycle changes. Requires confirm=True and a verified archived or superseded linked task, increments reopen_generation, restores the NeedFix to accepted status, and records an audit event. |
| aiworkhub_dashboard_roadmap_listA | READ-ONLY: list bounded Roadmap outcomes joined with task-DAG progress and wave projection. Use this to browse Roadmap items, status counts, and wave readiness; use aiworkhub_dashboard_roadmap_detail for one Roadmap item's full detail and audit events, or aiworkhub_dashboard_needfix_list for NeedFix items. Reads the Roadmap and task stores without mutating state. |
| aiworkhub_dashboard_roadmap_detailA | READ-ONLY: return one Roadmap outcome with linked task progress, wave projection, and audit events. Use this to inspect a specific Roadmap item's dependencies, linked tasks, and event log; use aiworkhub_dashboard_roadmap_list to browse all Roadmap items. Validates roadmap_id format and reads the Roadmap and task stores without mutating state. |
| aiworkhub_dashboard_settingsA | READ-ONLY: return repository feature switches, Source Graph policy, retention policy, and model routing policy. Use this to inspect current settings and their revision numbers before calling aiworkhub_dashboard_settings_update, aiworkhub_dashboard_model_settings_update, or aiworkhub_dashboard_source_graph_settings_update. For queue state or task counts use aiworkhub_dashboard_snapshot instead. Reads repository configuration files and status views without mutating durable state or starting background services. |
| aiworkhub_dashboard_settings_updateA | USER WRITE: atomically update repository-local feature switches with optimistic revision locking. Use this to toggle top-level repository features such as source_graph or context_graph; use aiworkhub_dashboard_settings to inspect current switches and revision first, or aiworkhub_dashboard_source_graph_settings_update and aiworkhub_dashboard_model_settings_update for language or model routing switches. Atomically persists feature settings when expected_revision matches, starts or stops Source Graph when toggled, and initializes the context graph schema when enabled. |
| aiworkhub_dashboard_model_settings_updateA | USER WRITE: update one provider, adapter, or model routing switch for the active repository. Use this to enable or disable a provider, transport adapter, or specific model leaf; call aiworkhub_dashboard_settings first to read model_policy and its current revision, or use aiworkhub_dashboard_settings_update for repository feature flags. Acquires the model-settings lock, verifies expected_revision, and atomically persists the updated routing configuration. |
| aiworkhub_dashboard_source_graph_settings_updateA | USER WRITE: atomically update per-language Source Graph indexing switches for the active repository. Use this to enable or disable individual languages in the Source Graph ignore policy; use aiworkhub_dashboard_settings to read the current policy and revision first, or aiworkhub_dashboard_settings_update to toggle the top-level source_graph feature switch. Enforces optimistic locking against expected_revision, atomically rewrites the ignore policy file, and triggers an immediate Source Graph refresh when the feature is enabled. |
| aiworkhub_dashboard_storage_retention_previewA | READ-ONLY: preview reclaimable worker worktrees, stale Git registrations, and storage quarantine batches. Use this first to obtain a fresh preview_digest before calling aiworkhub_dashboard_storage_quarantine or aiworkhub_dashboard_storage_registration_prune; use aiworkhub_dashboard_terminal_log_retention_preview or aiworkhub_dashboard_task_retention_preview for terminal logs or archived tasks. Scans worktree storage read-only without moving or deleting files. |
| aiworkhub_dashboard_storage_quarantineA | USER WRITE: move reclaimable worker worktrees matching a current preview into a reversible quarantine batch. Call aiworkhub_dashboard_storage_retention_preview first to obtain preview_digest; use aiworkhub_dashboard_storage_restore to undo a batch or aiworkhub_dashboard_storage_purge to delete an expired batch. Requires confirm=True and an unchanged preview_digest, moves eligible worktree directories into a signed quarantine batch with an undo deadline, writes an audit entry, and invalidates cached storage telemetry. |
| aiworkhub_dashboard_storage_registration_pruneA | USER WRITE: prune stale AIWorkHub Git worktree registrations verified against a current preview digest. Call aiworkhub_dashboard_storage_retention_preview first to obtain the registration preview_digest; use aiworkhub_dashboard_storage_quarantine to move physical worktree directories instead. Requires confirm=True, refuses when foreign stale registrations exist or the digest drifted, runs git worktree prune, records an audit entry, and invalidates storage telemetry. |
| aiworkhub_dashboard_storage_restoreA | USER WRITE: restore a quarantined worker-worktree batch back to the repository worktree root. Use this to roll back a quarantine batch listed by aiworkhub_dashboard_storage_retention_preview; use aiworkhub_dashboard_storage_purge to permanently delete an expired batch instead. Requires confirm=True, moves quarantined directories back without overwriting existing paths, reinstates Git worktree registrations when applicable, updates the batch manifest and audit log, and invalidates storage telemetry. |
| aiworkhub_dashboard_storage_purgeA | DESTRUCTIVE: permanently delete one expired worker-worktree quarantine batch from disk. Inspect batches with aiworkhub_dashboard_storage_retention_preview first, or use aiworkhub_dashboard_storage_restore to recover a batch while its undo window is still active. Requires confirm=True and an authenticated batch whose restore deadline has passed, permanently removes the batch directory, records an audit event, and invalidates storage telemetry. |
| aiworkhub_dashboard_terminal_log_retention_previewA | READ-ONLY: preview reclaimable terminal process log files, protected logs, and terminal-log quarantine batches. Call this before aiworkhub_dashboard_terminal_log_quarantine to inspect candidates and obtain preview_digest, or call aiworkhub_dashboard_terminal_log_usage_backfill when runs lack usage receipts; use aiworkhub_dashboard_storage_retention_preview for worktrees. Scans process logs read-only while excluding the canonical request ledger. |
| aiworkhub_dashboard_terminal_log_usage_backfillA | USER WRITE: idempotently backfill missing provider usage receipts from retained terminal stdout logs. Use this before aiworkhub_dashboard_terminal_log_quarantine when terminal runs remain protected due to missing usage capture receipts; use aiworkhub_dashboard_terminal_log_retention_preview to inspect protected runs first. Requires confirm=True, parses retained worker stdout logs without estimating tokens or cost, appends canonical usage capture events to the task store, and leaves already-captured runs unchanged. |
| aiworkhub_dashboard_terminal_log_quarantineA | USER WRITE: move eligible terminal process log files matching a current preview into repo-local quarantine. Call aiworkhub_dashboard_terminal_log_retention_preview first to obtain preview_digest, and run aiworkhub_dashboard_terminal_log_usage_backfill first if uncaptured usage receipts protect logs; use aiworkhub_dashboard_terminal_log_restore to undo. Requires confirm=True and a matching preview_digest, moves eligible log files into a quarantine batch with an undo window, records an audit event, and invalidates storage telemetry. |
| aiworkhub_dashboard_terminal_log_restoreA | USER WRITE: restore one terminal-log quarantine batch back into the repository process log directory. Use this to recover quarantined log files from a batch listed in aiworkhub_dashboard_terminal_log_retention_preview; use aiworkhub_dashboard_terminal_log_purge to permanently delete an expired batch instead. Requires confirm=True, moves quarantined files back without overwriting existing files, updates the batch manifest and audit trail, and invalidates storage telemetry. |
| aiworkhub_dashboard_terminal_log_purgeA | DESTRUCTIVE: permanently delete one expired terminal-log quarantine batch from disk. Inspect quarantine batches with aiworkhub_dashboard_terminal_log_retention_preview first, or use aiworkhub_dashboard_terminal_log_restore to recover files while the undo window is active. Requires confirm=True and an expired restore deadline on manual batches, permanently removes the batch directory, appends an audit record, and invalidates storage telemetry. |
| aiworkhub_dashboard_task_retention_previewA | READ-ONLY: preview archived task rows eligible for retention quarantine and list existing undo batches. Call this before aiworkhub_dashboard_task_quarantine to inspect candidate counts and obtain preview_digest; use aiworkhub_dashboard_task_archive to archive a single live task first. Opens the task database read-only, excludes archived tasks with pending or inflight callbacks, and never mutates task rows. |
| aiworkhub_dashboard_task_archiveA | USER WRITE: archive one non-active task card in the canonical task store without deleting its evidence. Use this to hide a finished, blocked, pending, or superseded task from the active queue; use aiworkhub_dashboard_task_restore to unarchive it or aiworkhub_dashboard_task_quarantine to move aged archived tasks into a retention batch. Requires confirm=True, refuses processing or review tasks, sets archived_at with an audit event, and invalidates storage telemetry. |
| aiworkhub_dashboard_task_restoreA | USER WRITE: restore one archived task card in the canonical task store back to its prior status. Use this to unarchive a single task archived via aiworkhub_dashboard_task_archive; use aiworkhub_dashboard_task_quarantine_restore instead if the task was already moved into a task-retention quarantine batch. Requires confirm=True, clears the archived overlay on the task row, records an audit event, and invalidates storage telemetry. |
| aiworkhub_dashboard_task_restartA | USER WRITE: recover one restartable task through its canonical state transition path and launch a worker. Use this for operator-initiated retry and launch of a pending, blocked, or dead-processing task; use aiworkhub_dashboard_task_detail to inspect the card first. Requires confirm=True, refuses live processing or review/finished/archived/superseded tasks, reconciles dead claims or blocked state in the task store, spawns a worker via process_launcher, and invalidates storage telemetry. |
| aiworkhub_dashboard_task_quarantineA | USER WRITE: move aged archived task rows matching a current preview into a reversible retention batch. Call aiworkhub_dashboard_task_retention_preview first with the same older_than_days cutoff to obtain preview_digest; use aiworkhub_dashboard_task_quarantine_restore to undo a batch or aiworkhub_dashboard_task_archive to archive one live task. Requires confirm=True and a matching preview_digest, records retired task outcomes in the roadmap store, moves task and event rows into task_retention_batches, and invalidates storage telemetry. |
| aiworkhub_dashboard_task_quarantine_restoreA | USER WRITE: restore one archived-task retention batch back into the canonical task tables. Use this to roll back a task retention batch listed by aiworkhub_dashboard_task_retention_preview; use aiworkhub_dashboard_task_restore instead to unarchive a single task that is still in the live tasks table. Requires confirm=True, checks for task_id collisions, reinserts tasks, task_events, and callback rows in one transaction, marks the batch restored, and invalidates storage telemetry. |
| aiworkhub_dashboard_task_quarantine_purgeA | DESTRUCTIVE: permanently delete one expired or already-restored archived-task quarantine batch. Inspect batches with aiworkhub_dashboard_task_retention_preview first, or use aiworkhub_dashboard_task_quarantine_restore to recover tasks while the undo deadline is active. Requires confirm=True and an expired restore_deadline (unless already restored), deletes the batch payload from task_retention_batches, records a purged audit row, and invalidates storage telemetry. |
| aiworkhub_dashboard_initializeA | USER WRITE: initialize or repair the active repository's canonical .aiworkhub stores and Source Graph directory. Use this when aiworkhub_dashboard_health reports storage not_initialized; use aiworkhub_dashboard_health or aiworkhub_dashboard_snapshot for read-only status checks. Bound to AIWORKHUB_REPO_ROOT, verifies repo_id against any existing manifest, idempotently provisions the project manifest, storage registry, SQLite stores, and Source Graph directory without deleting legacy files, and invalidates storage telemetry. |
| aiworkhub_agent_tool_instruction_previewB | MCP-bound: preview using the server's active repository root. Never accepts a caller-selected |
| aiworkhub_agent_tool_instruction_inspectC | MCP-bound: inspect using the server's active repository root. |
| aiworkhub_agent_tool_instruction_applyC | MCP-bound: apply using the server's active repository root. |
| aiworkhub_launch_queue_describe_readonlyB | READ-ONLY: describe a launch INTENT via the disabled B119 launch_queue_contract. Builds a pure FROZEN READ-ONLY CONTRACT -- no write-gate toggle, no audit parameter. Never mutates queue or audit state. Never launches agents or processes. |
| aiworkhub_launch_queue_evaluate_readonlyB | READ-ONLY: evaluate a launch request via the disabled B119 launch_queue_contract. Builds a pure FROZEN READ-ONLY CONTRACT -- no write-gate toggle, no mutation parameters. Never mutates queue or audit state. Never launches agents or processes. |
| aiworkhub_launch_queue_audit_summary_readonlyA | READ-ONLY: summarize the append-only B119 launch-queue audit JSONL log. Delegates to FROZEN READ-ONLY CONTRACT -- no write-gate toggle, no mutation parameters. Never mutates queue or audit state. Never launches agents or processes. |
| aiworkhub_task_queue_requestA | WRITE-GATED: append a disabled launch-queue request. This is the B286 MVP queue-request tool. It never launches a process:
|
| aiworkhub_task_stale_recovery_recommendA | READ-ONLY: recommend recovery actions for stale processing tasks or blocked cards. scope="processing" (default) covers stale processing tasks. scope="blocked"
triages the blocked-card queue: one recommendation per card, |
| aiworkhub_task_cost_ledgerB | READ-ONLY: bounded cost summary, with opt-in detailed dimensions. Default mode retains cost/cache truth plus provider, model and day
aggregates, and stays bounded as usage history grows. Kept rows are also narrower than The repository binding is what makes those aggregates answerable.
|
| aiworkhub_completion_inboxA | READ-ONLY: combined completion-inbox facts for Codex orchestration. Returns five facets in one call: FROZEN READ-ONLY CONTRACT -- no write-gate toggle, no mutation
parameters. Only issues |
| aiworkhub_review_packetA | READ-ONLY: ONE bounded review packet for a Every fact a manager needs to decide a candidate is already persisted -- validation rows with their declared commands and output tails, the quality gate's checks and blockers, the worker MCP gate and its receipt-conformance verdict, required outputs, destructive-diff checks, the effective tier and its per-lens status, the deduped reviewer findings, the reachability observation -- spread across six nested objects on one card. This returns them together, under a measured byte bound. Measured over all 419 real cards carrying a quality gate: min 1,662 B, p50 6,387 B, p90 8,813 B, max 13,799 B, 0 needing truncation. It replaces per candidate 10 task-scoped calls at p50 (p90 21) and, session-wide, 1,688 hand-written Bash re-derivations (pytest 611, attempt-artifact reads 242, task_queue.sqlite scripts 250, log tails 113, git diff 155) totalling 1.45 MB. Nothing here is a verdict: every status was decided by the gate that
recorded it, and accepting still runs the whole fold in |
| aiworkhub_agent_launch_taskA | DUAL-GATED: launch one exact local Claude/Codex worker process. Requires both AIWORKHUB_ALLOW_LAUNCH=1 and
AIWORKHUB_ALLOW_WRITES=1. The task card, runner, topic, pending state,
allowed-write scope, collision guard, adapter, and process limit are all
validated before a shell-free child process can start.
|
| aiworkhub_quality_reviewer_launchC | DUAL-GATED: launch one independent anti-anchored quality reviewer.
|
| aiworkhub_agent_task_statusA | READ-ONLY: inspect one launched process and its authoritative task card.
|
| aiworkhub_agent_collect_resultC | READ-ONLY: collect bounded worker output and review-readiness evidence. |
| aiworkhub_agent_cancel_taskC | DUAL-GATED: terminate one exact process group recorded by this server. |
| aiworkhub_agent_retry_finalizationA | COORDINATOR/WRITE-GATED: retry one retained finalization request. The provider/model is never launched again. The exact successful worker
request, retained workspace, task identity and supervisor exit receipt are
revalidated before deterministic validation/finalization is re-entered.
A validation failure is eligible only when its durable reason is the
operational
|
| aiworkhub_manager_review_hold_resolveB | MANAGER WRITE: resolve one exact durable reviewer-route hold. Every chain, candidate and retired-attempt identity is mandatory. The action can only expose an already-recorded callback, authorize the one bounded distinct-route successor, or re-arm the exact pre-provider reviewer attempt after its operational blocker was repaired. It never accepts the target and never relaunches its implementation worker. |
| aiworkhub_manager_review_finding_disposeA | MANAGER WRITE: record one audited disposition of one reviewer finding.
|
| aiworkhub_agent_accept_previewA | READ-ONLY: what would block accept_review right now, before any work. Measured 2026-09-08: 49 of 159 accept attempts (31%) failed on a blocker that was knowable in advance -- a required lens still running, a target not yet review_ready, an approval not given -- but only after the combined tree had been materialized and two validation runs paid for. This folds exactly those cheap blockers and writes nothing. A clear preview is NOT an acceptance and NOT a promise of one. The
expensive half -- combined tree, declared validations, mechanical gate,
reviewer receipt verification by request id -- runs only in accept_review
and can still refuse. |
| aiworkhub_agent_accept_reviewA | COORDINATOR/WRITE-GATED: accept one Re-runs scope, required-output, and validation gates against the
retained isolated worktree, compares every changed path's hash against
the ones recorded when the request first reached review, and only then
promotes into the canonical repo and finalizes the task as done. Any
precondition or revalidation failure leaves the canonical repo untouched
and the task in review. Idempotent: accepting the same already-finished
request again returns
A successful reply is the receipt ( |
| aiworkhub_agent_list_processesC | READ-ONLY: summarize latest processes; use detail='full' for legacy records. |
| aiworkhub_dispatcher_ensure_startedA | Idempotently ensure exactly one callback dispatcher is running for the active repository, bound to the currently-selected coordinator target (B857). Called by the VS Code extension after every MCP handshake (activation, tab-deserialization, reload) and after an explicit coordinator-target switch -- never starts a second thread and never marks an uninitialized repository as degraded. |
| aiworkhub_dispatcher_healthA | READ-ONLY: dispatcher running/stopped, selected coordinator target, repository identity, pending callback count, and last delivery/error. |
| aiworkhub_dispatcher_stopA | Stop and unregister the active repository's callback dispatcher, if any. Called on workspace/repository switch and extension deactivation so no cross-repository read or delivery can happen afterward. |
| aiworkhub_dispatcher_watchdogA | Detect and auto-recover a down-but-expected callback dispatcher. Intended for the VS Code extension's periodic refresh: when dispatch is expected for this process (extension-owned coordinator or verified Claude manager) but the dispatcher is unregistered/stopped, lost its repo_id, or reports a start error, this re-ensures it in place. A healthy dispatcher, a manager-inbox session, or a process where dispatch is not expected is left untouched. Accumulated durable-outbox callbacks replay automatically once the dispatcher is back. |
| aiworkhub_source_graph_ensure_startedA | Idempotently ensure exactly one Source Graph indexing daemon is running for the active repository. Safe to call repeatedly (InitRepo, activation, tab-deserialization, reload) -- never starts a second thread and never fabricates a running daemon for an uninitialized repository. |
| aiworkhub_source_graph_healthA | READ-ONLY: Source Graph indexing daemon health for the active repository -- indexing/ready/degraded status, last report/error/time. |
| aiworkhub_source_graph_refresh_nowA | Force one bounded incremental (or first-ever full) Source Graph build now, non-overlapping with the periodic background refresh. |
| aiworkhub_source_graph_stopA | Stop and unregister the active repository's Source Graph indexing daemon, if any. Called on workspace/repository switch and extension deactivation so no cross-repository indexing thread survives. |
| aiworkhub_claude_callback_waitA | BLOCKING READ/CLAIM: wait for a callback for this verified Claude
Code manager session. Acknowledge the previous batch by passing its
|
| aiworkhub_claude_callback_ackC | WRITE: acknowledge one exact callback batch returned to this same verified Claude manager session. |
| aiworkhub_quality_profileC | READ-ONLY: zero-config detected languages/declared/installed tools. |
| aiworkhub_known_bug_scanA | READ-ONLY: scan bounded changed paths for known bug patterns. Native and SARIF outputs preserve the same truth boundary: a static candidate is not reported as runtime-reproduced evidence. |
| aiworkhub_eval_artifact_gateB | READ-ONLY: recompute registered eval verdicts from retained rows. A PASS over zero eligible rows or a summary/count/aggregate divergence is returned as blocking evidence. The tool never rewrites an artifact. |
| aiworkhub_contract_consistency_checkC | READ-ONLY: detect managed provider/worker instruction drift. |
| aiworkhub_source_graph_retrieval_evalB | READ-ONLY: run registered precision@k/MRR cases through manager MCP wrapper. Threads a real, repository-bound
|
| aiworkhub_session_token_profileC | READ-ONLY: observed provider tokens plus separately-labelled prompt bytes. |
| aiworkhub_risk_mode_precision_benchB | READ-ONLY: per-mode/language precision from adjudicated registered rows. |
| aiworkhub_quality_gate_ratchetC | READ-ONLY: report new quality identities and no-net-growth overflow. |
| aiworkhub_prompt_bundle_ab_reportB | READ-ONLY: evaluate preregistered matched A/B provider-usage rows. |
| aiworkhub_suite_profileC | Execute one repo-declared quality check repeatedly; shell is never used. |
| aiworkhub_runtime_coverage_previewB | READ-ONLY: parse a repo-local coverage.py JSON artifact. |
| aiworkhub_runtime_coverage_importC | WRITE-GATED: atomically project repo-local coverage into Source Graph. |
| aiworkhub_quality_run_checksA | Run repo-declared .aiworkhub/quality.json build/test/lint/typecheck
commands (argv arrays only, shell=False). Fails closed on malformed
config. Diff/new-code-first: pass |
| aiworkhub_quality_evidence_packetB | READ-ONLY: full canonical evidence packet -- profile, declared checks, risk-based optional-gate policy metadata (not_available != passed), and the cross-provider read-only quality_reviewer contract. |
| aiworkhub_quality_calibration_reportC | READ-ONLY: run the deterministic positive/negative gate matrix. |
| aiworkhub_environment_preflightA | READ-ONLY: unified repository/policy/Source Graph/provider readiness. Provider access is reported as observed only when an adapter-specific
bridge or credential readiness source proves it; installed CLI binaries
alone remain
|
| aiworkhub_storage_recover_stranded_worktreesA | Recover retained worktrees stranded outside every reclamation path. NF-2026-00279: the storage observability surface recommends this recovery, but it had no tool/MCP/CLI entry point, so an operator was told to run something they could not. This exposes it as a real action. READ-ONLY first: |
| needfix_listC | List repo-scoped NeedFix entries (bounded). |
| needfix_showA | Show one NeedFix by id; a body over 1 KB folds to its own identity. Measured 2026-10-09: 51 calls, avg 4 KB, max 12 KB, almost all of it the
description and evidence bodies the filer wrote (NF-2026-01447). Each body
whose own canonical bytes exceed |
| aiworkhub_manager_needfix_draftA | READ-ONLY: draft the NeedFixes one request's own review evidence justifies. A NeedFix could not be drafted from the evidence that justifies it, so it was retyped. Measured 2026-09-08: of 204 manual filings, 76 had an accept/ reject/status/collect result within the previous 15 calls, 43 carried a 32-hex request id, and 355 of 540 typed identifiers (66%) appeared verbatim in the previous 15 tool results; 453 of 557 stored rows carry a hand-typed evidence dict at p50 549 B. Meanwhile 589 accepted-shape reviewer findings and 1,623 failed-gate payloads became a NeedFix only if someone retyped them, and reviewer cards are archived (1,796 so far), taking every unconverted finding with them. Everything returned is mechanical: title from the failing check id or the
finding summary, kind and severity from the finding category through a
fixed map, The DESCRIPTION is deliberately empty -- it is your judgement about what to
do, not a fact on the card, and this never invents one. Writes nothing:
file a candidate with |
| needfix_addA | Manager-authority add of a NeedFix (dedupe-aware).
Replies with a receipt ( |
| needfix_updateA | Manager update of mutable NeedFix fields.
Replies with a delta receipt ( |
| needfix_archiveB | Explicitly archive (soft, audited, restorable) a NeedFix. |
| needfix_restoreC | Explicitly restore an archived NeedFix. |
| needfix_purgeA | Audited hard delete of an already-archived NeedFix. |
| needfix_countC | Bounded count of NeedFix entries. |
| needfix_eventsC | List events for a NeedFix entry. |
| aiworkhub_manager_sdlc_outcome_metricsC | READ-ONLY: bounded outcome metrics from canonical task/review events. |
| aiworkhub_manager_sdlc_case_createC | Create one repository-bound SDLC case under verified manager authority. |
| aiworkhub_manager_sdlc_stage_recordC | Append one bounded stage receipt under verified manager authority. |
| aiworkhub_manager_sdlc_case_getC | READ-ONLY: bounded repository-bound case packet. |
| aiworkhub_manager_sdlc_stage_packetD | READ-ONLY: one bounded repository-bound stage packet. |
| aiworkhub_manager_sdlc_case_create_for_taskC | Create the SDLC case bound to one canonical task under verified manager authority. |
| aiworkhub_manager_sdlc_case_for_taskC | READ-ONLY: bounded case packet bound to one canonical task, or a typed unknown. |
| needfix_preview_convertA | Preview an explicit workforce-bound task conversion. The reply keeps |
| needfix_convertB | Commit the exact previewed workforce-bound task conversion.
|
| needfix_link_existing_taskA | Manager-only: atomically link a NeedFix to an existing, finished, accepted task. |
| needfix_reopen_superseded_task_linkB | Manager-only: reopen a NeedFix whose exact linked task was superseded. |
| roadmap_listC | List bounded repository Roadmap outcomes. |
| roadmap_showC | Show one Roadmap outcome. |
| roadmap_eventsB | List bounded audit events for one Roadmap outcome. |
| roadmap_snapshotD | Join bounded Roadmap outcomes to canonical Task-DAG lifecycle. |
| roadmap_addC | Manager-only Roadmap proposal; does not create or launch a task. |
| roadmap_transitionC | Manager-only guarded Roadmap lifecycle transition. |
| roadmap_link_taskC | Link one existing canonical task to a Roadmap outcome. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 213 tools
Many tools are near-duplicates separated only by authority prefix: task_archive vs manager_task_archive vs dashboard_task_archive, task_supersede vs manager_task_supersede, needfix_update vs dashboard_needfix_update, task_show vs dashboard_task_detail vs agent_task_status, task_health vs dashboard_health vs dashboard_snapshot. The descriptions do disambiguate with 'use X instead of Y' prose, but with 213 tools sharing overlapping verbs and resources, an agent must read long docstrings to pick correctly.
The set mixes three schemes: prefixed families (aiworkhub_task_*, aiworkhub_manager_*, aiworkhub_dashboard_*, aiworkhub_agent_*, aiworkhub_quality_*), bare families (needfix_*, roadmap_*), and inconsistent suffixes like _readonly, _readonly-only variants, and _helper terms. Verb ordering is usually verb_noun but there are noun-first outliers (task_health, dashboard_snapshot, completion_inbox, review_packet, quality_profile).
213 tools vastly exceeds any reasonable scope for a single MCP surface, and many are parallel re-exports of the same operation under different authority prefixes. The count is an extreme mismatch for coherent agent tool selection.
The domain surface is extensive: task lifecycle, NeedFix, roadmap, skills, recipes, SDLC cases, storage retention, dashboard reads, launch/dispatcher control, and quality evidence all have create/read/update/archive paths. Coverage is close to complete, though a few lifecycle edges (e.g. roadmap delete/archive, consistent unlock of quarantined artifacts) are implicit rather than explicit.