Context
A follow-on audit (comparing AMS against ORB's self-host maturity, MCP exposure, and Claude/Codex operational parity) found 47 additional, genuinely new gaps not covered by #4825 's original 51 hardening items — plus 3 items added from a completeness self-critique (a systemd unit example, .gittensory-miner.yml config-precedence docs/tests, and a cross-cutting MCP contract-test suite). All 47 are contributor-eligible by design; none touch the autonomous loop's own control-flow, claim-conflict resolution, or any kill-switch.
Scope summary
MCP exposure (11): Scaffold a minimal gittensory-miner mcp stdio server (bin entry, one health-check tool) #5153 , Expose gittensory-miner status/doctor diagnostics as a read-only MCP tool, including resolved coding-agent driver info #5154 , Expose AMS portfolio-queue dashboard as a read-only MCP tool (gittensory_miner_get_portfolio_dashboard) #5155 , Expose AMS claim-ledger listing as a read-only MCP tool (gittensory_miner_list_claims) #5156 , Wire gittensory_feasibility_gate's claimStatus input to the local claim-ledger instead of a caller-supplied string #5157 , Mirror AMS's event-ledger as a read-only MCP tool (gittensory_miner_get_audit_feed) #5158 , Expose AMS governor-ledger decisions as a read-only MCP tool, excluding payload_json by construction #5159 , Expose AMS per-repo run-state as a read-only MCP tool (gittensory_miner_get_run_state) #5160 , Expose AMS's persisted plan-store as read-only MCP tools (gittensory_miner_list_plans / gittensory_miner_get_plan) #5161 , Document the new gittensory-miner mcp tool surface in the package README and coding-agent-driver docs #5162 , Add an example MCP client config snippet for running AMS's MCP tools alongside gittensory-mcp #5163
Claude/Codex self-host operational parity (12): Surface the resolved coding-agent-driver provider and CLI presence in gittensory-miner status --json #5164 , Gate doctor's claude/codex CLI-presence checks by the configured MINER_CODING_AGENT_PROVIDER #5165 , Surface a codex auth-freshness remediation detail in doctor when codex-cli is the configured driver #5166 , Add a two-tier stalled-output fast-fail timeout to the miner's CLI-subprocess coding-agent driver #5167 , Parse Claude Code's JSON error envelope into actionable diagnostics in the CLI-subprocess driver #5168 , Parse Codex's JSONL stdout for its real error object in the CLI-subprocess driver #5169 , Add offline GitHub-token and coding-agent-credential presence checks to gittensory-miner doctor #5170 , Add an opt-in gittensory-miner init --verify-token flag to validate GITHUB_TOKEN scopes via a single API call #5171 , Document MINER_CODING_AGENT_* env vars in the miner package's README and DEPLOYMENT.md #5172 , Add a .gittensory-miner.env.example starter file enumerating all AMS env vars, including coding-agent-driver config #5173 , Add a docs-site page for enabling Claude Code / Codex as the miner's coding-agent driver #5174 , Add a 'recognizing a stale or missing coding-agent credential' troubleshooting table to the miner docs #5175
Self-host packaging & docs (10): Add gittensory-miner init --interactive first-run onboarding wizard #5176 , Add docker-compose.miner.yml for AMS fleet mode with named services and restart policy #5177 , Add <NAME>_FILE secrets-file indirection for GITHUB_TOKEN and coding-agent credentials in fleet mode #5178 , Add a generated, CI-drift-checked env-var reference for gittensory-miner (npm run miner:env-reference) #5179 , Add a docs-audit check cross-referencing gittensory-miner's DEPLOYMENT.md against its actual code #5180 , Add example Kubernetes manifests (Deployment + Secret) for AMS fleet-mode as a small-cluster alternative to docker-compose #5181 , Publish a measured CPU/RAM/disk sizing table for gittensory-miner laptop-mode vs fleet-mode #5182 , Add a Terraform starter module for provisioning a dedicated fleet-mode AMS host #5183 , Add a systemd unit + timer example for running gittensory-miner continuously on a bare host (no Docker) #5197 , Document and test .gittensory-miner.yml config precedence against MINER_* env vars and CLI flags #5198
Dashboard/observability parity (8): Provision a Grafana datasource for AMS's local SQLite ledgers (attempt log + prediction ledger) #5184 , Add a Grafana dashboard for coding-agent-driver usage, cost, and attempt outcomes #5185 , Add a Prometheus alert rule for stuck/stale portfolio-queue claimed items #5186 , Add a Prometheus alert rule for governor rate-limit/budget threshold pressure #5187 , Add a Prometheus alert rule for prediction-calibration drift #5188 , Add an AMS cross-link panel to resource-hub.json #5189 , Add an 'Observing your miner' doc section to packages/gittensory-miner/docs #5190 , Cross-reference AMS observability from the in-app docs (self-hosting-operations, miner-quickstart, miner-workflow) #5191
Miner-ui/extension polish beyond Wave 5 (3): Persist a savedAt timestamp with rankedCandidates and render a 'last synced' label on the extension's opportunity badge #5192 , Add dynamic badge text to the miner extension's toolbar icon reflecting local cache state #5193 , Add an optional ORB/Grafana footer link to the miner-ui root layout #5194
Testing/coverage (3): Add unit tests asserting doctor distinguishes unconfigured-vs-broken coding-agent CLI states #5195 , Add a regression test for the two-tier stalled-output timeout in the CLI-subprocess driver #5196 , Add a contract/parity test suite across all new AMS read-only MCP tools #5199
How to use this issue
These are largely independent and can be worked in any order, with three exceptions noted in their own Dependencies sections: the MCP tool issues depend on the MCP scaffold (#5153 ) landing first; the Grafana dashboard (#5185 ) depends on the datasource issue (#5184 ); and the three Prometheus alert-rule issues (#5186 –#5188 ) are each blocked on a specific not-yet-landed prerequisite from #4825 's batch — read each one's Dependencies section before starting.
See also #4825 (the original AMS-hardening batch this one supplements).
Context
A follow-on audit (comparing AMS against ORB's self-host maturity, MCP exposure, and Claude/Codex operational parity) found 47 additional, genuinely new gaps not covered by #4825's original 51 hardening items — plus 3 items added from a completeness self-critique (a systemd unit example,
.gittensory-miner.ymlconfig-precedence docs/tests, and a cross-cutting MCP contract-test suite). All 47 are contributor-eligible by design; none touch the autonomous loop's own control-flow, claim-conflict resolution, or any kill-switch.Scope summary
gittensory-miner mcpstdio server (bin entry, one health-check tool) #5153, Expose gittensory-miner status/doctor diagnostics as a read-only MCP tool, including resolved coding-agent driver info #5154, Expose AMS portfolio-queue dashboard as a read-only MCP tool (gittensory_miner_get_portfolio_dashboard) #5155, Expose AMS claim-ledger listing as a read-only MCP tool (gittensory_miner_list_claims) #5156, Wiregittensory_feasibility_gate's claimStatus input to the local claim-ledger instead of a caller-supplied string #5157, Mirror AMS's event-ledger as a read-only MCP tool (gittensory_miner_get_audit_feed) #5158, Expose AMS governor-ledger decisions as a read-only MCP tool, excludingpayload_jsonby construction #5159, Expose AMS per-repo run-state as a read-only MCP tool (gittensory_miner_get_run_state) #5160, Expose AMS's persisted plan-store as read-only MCP tools (gittensory_miner_list_plans/gittensory_miner_get_plan) #5161, Document the newgittensory-miner mcptool surface in the package README and coding-agent-driver docs #5162, Add an example MCP client config snippet for running AMS's MCP tools alongside gittensory-mcp #5163gittensory-miner status --json#5164, Gatedoctor's claude/codex CLI-presence checks by the configuredMINER_CODING_AGENT_PROVIDER#5165, Surface a codex auth-freshness remediation detail in doctor when codex-cli is the configured driver #5166, Add a two-tier stalled-output fast-fail timeout to the miner's CLI-subprocess coding-agent driver #5167, Parse Claude Code's JSON error envelope into actionable diagnostics in the CLI-subprocess driver #5168, Parse Codex's JSONL stdout for its real error object in the CLI-subprocess driver #5169, Add offline GitHub-token and coding-agent-credential presence checks togittensory-miner doctor#5170, Add an opt-ingittensory-miner init --verify-tokenflag to validate GITHUB_TOKEN scopes via a single API call #5171, Document MINER_CODING_AGENT_* env vars in the miner package's README and DEPLOYMENT.md #5172, Add a.gittensory-miner.env.examplestarter file enumerating all AMS env vars, including coding-agent-driver config #5173, Add a docs-site page for enabling Claude Code / Codex as the miner's coding-agent driver #5174, Add a 'recognizing a stale or missing coding-agent credential' troubleshooting table to the miner docs #5175gittensory-miner init --interactivefirst-run onboarding wizard #5176, Adddocker-compose.miner.ymlfor AMS fleet mode with named services and restart policy #5177, Add<NAME>_FILEsecrets-file indirection for GITHUB_TOKEN and coding-agent credentials in fleet mode #5178, Add a generated, CI-drift-checked env-var reference for gittensory-miner (npm run miner:env-reference) #5179, Add a docs-audit check cross-referencing gittensory-miner's DEPLOYMENT.md against its actual code #5180, Add example Kubernetes manifests (Deployment + Secret) for AMS fleet-mode as a small-cluster alternative to docker-compose #5181, Publish a measured CPU/RAM/disk sizing table for gittensory-miner laptop-mode vs fleet-mode #5182, Add a Terraform starter module for provisioning a dedicated fleet-mode AMS host #5183, Add a systemd unit + timer example for running gittensory-miner continuously on a bare host (no Docker) #5197, Document and test.gittensory-miner.ymlconfig precedence against MINER_* env vars and CLI flags #5198How to use this issue
These are largely independent and can be worked in any order, with three exceptions noted in their own Dependencies sections: the MCP tool issues depend on the MCP scaffold (#5153) landing first; the Grafana dashboard (#5185) depends on the datasource issue (#5184); and the three Prometheus alert-rule issues (#5186–#5188) are each blocked on a specific not-yet-landed prerequisite from #4825's batch — read each one's Dependencies section before starting.
See also #4825 (the original AMS-hardening batch this one supplements).