miner: v1.0.0
Immutable
release. Only release title and notes can be modified.
1.0.0 (2026-07-14)
⚠ BREAKING CHANGES
- miner: the miner's default config directory and every gittensory_miner_* Prometheus metric name changed; no dual-read/alias, per the epic's full-cutover mandate (#5705). A self-hoster's existing ~/.config/gittensory-miner state does not migrate automatically.
- miner: every GITTENSORY_MINER_/GITTENSORY_API_TOKEN_FILE/ GITTENSORY_MCP_TOKEN_FILE/GITTENSORY_MEM_LIMIT/GITTENSORY_REPORTING_ env var an existing self-hosted AMS/miner deployment sets must be renamed to its LOOPOVER_ equivalent -- the old names are no longer read.
Features
- mcp: wire gittensory_feasibility_gate's claimStatus to the local claim ledger (#5157) (#5389) (91b235d)
- miner-deployment: add docker-compose.miner.yml for AMS fleet mode (#5299) (df806cc), closes #5177
- miner-governor: build a real production runSlopAssessment implementation (#5133) (#5140) (e7d95a9)
- miner-governor: build production CodingAgentDriver construction (#5131) (#5138) (9396dc8)
- miner-governor: closed-loop discovery re-entry trigger (#2338) (#5051) (d7e38d6)
- miner-governor: dry-run-by-default enforcement + fail-closed chokepoint (#2342, #2340) (#5014) (4719f2c)
- miner-governor: enforce non-convergence + budget/turn/termination halts (#2347) (#4989) (51208ce)
- miner-governor: freeze/snapshot mechanism for historical replay targets (#3010) (#5113) (aacf718)
- miner-governor: global + per-repo kill-switch (#2341) (#5012) (dcc1601)
- miner-governor: kill-switch propagation into the manage/loop subsystem (#2339) (#5057) (a21a8ad)
- miner-governor: late-binding freshness check before open_pr fires (#3007) (#5112) (7d260f1)
- miner-governor: persist governor cross-attempt state (#5134) (#5203) (a78edc8)
- miner-governor: PreToolUse-hook-enforced house rules (#2343) (#5031) (5aa103b)
- miner-governor: self-plagiarism throttle across the miner's own repos (#4972) (f0fa765)
- miner-governor: shape the gated open-pr submission payload from a handoff (#2337) (#5091) (86d1338)
- miner-governor: the real create->review->gate->submit attempt pipeline (#2337) (#5118) (46d63b9)
- miner-governor: wire rate-limit + jittered backoff into live write enforcement (#2344) (#4984) (f175e0c)
- miner-hands: resolve the own-rejection-history trigger of rejectionSignaled (#5657) (7826e1d), closes #5655
- miner-hands: wire real self-plagiarism data into the Governor chokepoint (#5706) (40ce138), closes #5676
- miner-mcp: event-ledger audit feed tool (#5158) (#5348) (26624ca)
- miner-selfimprove: wire the historical-replay scorer into the Phase 7 calibration loop (#4248) (#5462) (7e2e20d)
- miner-ui: add a systemd unit for running miner-ui as a persistent service (#5610) (f7aa717), closes #4852
- miner: add --dry-run to attempt and loop (#5527) (a952d43), closes #4847
- miner: add --dry-run to governor pause/resume (#5553) (a5bec8a), closes #4847
- miner: add --dry-run to the remaining local-mutating CLI commands (#5532) (34ae1e5), closes #4847
- miner: add .gittensory-ams.yml operator execution-policy config (#5249) (f92b298)
- miner: add a calibration-report CLI command (#5460) (9a0f378), closes #4849
- miner: add a committed benchmark suite for discovery ranking and the local-store path (#5615) (a05e02e)
- miner: add a fleet-mode AMS host Terraform starter module (#5549) (f0b1840), closes #5183
- miner: add a gittensory-miner init --interactive first-run onboarding wizard (#5621) (c5815f4)
- miner: add a gittensory-miner migrate command for the local stores (#5538) (4b609eb), closes #4871
- miner: add a ledger metrics command that renders event-ledger Prometheus text (#4841) (#5486) (16b4191)
- miner: add a level-aware logging abstraction for the CLI (#4835) (#5550) (eeb6ab4)
- miner: add a metrics command that renders prediction-calibration Prometheus text (#4838) (#5470) (29c18f2)
- miner: add a right-to-be-forgotten purge command across the local ledgers (#5568) (27c9685), closes #5564
- miner: add a systemd bare-host service example for the miner loop (#5350) (aeb2244), closes #5197
- miner: add backup/restore tooling for local SQLite state (#5623) (b189eaf)
- miner: add GitHub token and coding agent credential checks to doctor functionality (#5514) (d25c60d)
- miner: add GITHUB_TOKEN_FILE secret-mount indirection for fleet mode (#5560) (72fb957), closes #5178
- miner: add governor rate-limit/budget Prometheus metrics + pressure alerts (#5604) (29e460e)
- miner: add lease + expiry sweep to reclaim stuck portfolio-queue items (#5202) (2e9fab7), closes #4827
- miner: add portfolio-queue Prometheus metrics + stuck/backlog alerts (#5603) (7e55ebc)
- miner: add queue release and requeue commands to CLI (#5520) (05d1fb0)
- miner: add repo stack auto-detection (#4785) (#5477) (849e11e)
- miner: add schema-version migration runner across local stores (#5364) (e8e068d), closes #4832
- miner: add signal and crash handling to the CLI (#4826) (#5484) (34fc243)
- miner: add store integrity checks and ledger retention (#5388) (6fbf9d4), closes #4834
- miner: audit DEPLOYMENT.md env vars, paths, and CLI subcommands against source (#5414) (c535aa4), closes #5180
- miner: build a governor pause/resume control surface (#5523) (b7d3645)
- miner: build a real SelfReviewContext fetcher (#5145) (#5235) (7a423be)
- miner: build the autonomous supervising loop (#5303) (dc6fa7a)
- miner: build the coding-task-spec (title/instructions/acceptanceCriteriaPath) (#5132) (#5239) (199a995)
- miner: cache policy docs with conditional-GET revalidation (#5508) (a798778), closes #4842
- miner: de-hardcode discovery from gittensory's own conventions (#4784) (#5472) (eca8387)
- miner: device-flow OAuth onboarding for the loopover-ams GitHub App (#5703) (63885df), closes #5682
- miner: enhance coding-agent instructions with detected repo stack commands (#4786) (#5722) (f7b2352)
- miner: expose governor decisions via a read-only, payload-redacted MCP tool (#5413) (cffe5aa), closes #5159
- miner: expose per-repo run-state as a read-only MCP tool (#5363) (b5db38f), closes #5160
- miner: expose status/doctor diagnostics via a read-only MCP tool (#5415) (b7d3308), closes #5154
- miner: expose the claim ledger as a read-only MCP tool (#5326) (97707b8), closes #5156
- miner: expose the persisted plan store via read-only MCP tools (#5371) (a0639fd), closes #5161
- miner: expose the portfolio-queue dashboard as a read-only MCP tool (#5298) (0f68081), closes #5155
- miner: extract and persist real coding-agent token usage (#5658) (1e0ac6c)
- miner: generated env-var reference with CI drift check (#5179) (#5295) (83944c4)
- miner: make queue next WIP-cap-aware via --global-wip/--per-repo-wip (#5600) (bbcb787)
- miner: paginate discovery fetches via the GitHub Link header (#4831) (#5442) (65fa28b)
- miner: persist coding-agent provider + real cost on the attempt log (#5637) (941c300)
- miner: persist ranked-candidates snapshots and serve them locally (#5619) (6553b54)
- miner: persist resolved policy verdicts across discover runs (#5516) (0d5c340)
- miner: read loop-cli convergence history from the persisted portfolio queue (#5679) (66e927e), closes #5677
- miner: rename GITTENSORY_MINER_/GITTENSORY_ env vars to LOOPOVER_MINER_/LOOPOVER_ (#5707) (6714f0c), closes #5705
- miner: resolve rejectionSignaled's AI-usage-policy-ban trigger (#5132) (#5241) (e6adb43)
- miner: resolve the real per-repo MinerGoalSpec from a cloned worktree (#5255) (28949be)
- miner: respect --json on CLI error paths (#5543) (7cffca2)
- miner: retry a transient 5xx around the CI and gate-verdict pollers (#5420) (59ba5d1), closes #4829
- miner: retry a transient 5xx in the discovery fanout (#5425) (6b703a4), closes #4830
- miner: scaffold the gittensory-miner MCP stdio server (#5254) (e99c151), closes #5153
- miner: surface a codex auth-freshness remediation detail in doctor (#5166) (#5297) (b7a410d)
- miner: surface rate-limit telemetry in discover output (#4837) (#5461) (7e89fae)
- miner: surface the resolved coding-agent-driver provider and CLI presence in status --json (#5164) (#5312) (fb76770)
- miner: throttle discovery concurrency as rate-limit budget drops (#5467) (6a6426e), closes #4844
- miner: track real per-issue attempt-history on the portfolio queue (#5661) (b579eb6), closes #5654
- miner: update package structure and validation for operational files (#5528) (15d9d1a)
- miner: validate config content in doctor, not just its path (#5402) (0d78f24), closes #4873
- miner: wire AMS's dead orb-export.js telemetry stub to a real central ingest endpoint (#5697) (4ebce08), closes #5681
- miner: wire attempt-metering.ts into the iterate loop for a real mid-attempt budget abort (#5437) (30a6ffb)
- miner: wire claim-conflict resolution end-to-end (#5480) (7109bf2)
- miner: wire per-repo kill switch, real claim-ledger, and CI-status observation into the real attempt/loop pipeline (#5429) (5ff7d37)
- miner: wire real git worktree preparation into the attempt CLI (#5252) (44a1861)
- miner: wire real git worktree preparation into the attempt pipeline (#5132) (#5237) (69e8d81)
- miner: wire real reputationHistory into the Governor's self-reputation throttle (#5685) (be9af47), closes #5675
- miner: wire the attempt CLI subcommand's real dependencies (#5132) (#5152) (f166c07)
- miner: wire the batch claimer and telemetry exporter into the CLI (#5242) (d3b9707), closes #4833
- miner: wire the real runMinerAttempt call into attempt-cli.js (#5261) (f3f1f2b)
Fixes
- miner-extension: purge a stale discoveryIndexUrl value from chrome.storage.sync (#5511) (ec7d4c2)
- miner-governor: require global live opt-in (#5231) (14c75e2)
- miner-governor: wire buildHouseRulesPreToolUseHook into a real driver-construction call site (#5082) (e04e847)
- miner-governor: wire the real attempt pipeline to persisted governor state (#5134) (#5214) (8802933)
- miner: add optional token verification to init (#5422) (e790f89)
- miner: add three lib files missing from build:miner's check list (#5210) (b81e00c)
- miner: avoid unscoped run-state lookup (#4653) (9a46a4b)
- miner: bound rejection policy document reads (#5325) (1894b75)
- miner: bound self-review manifest reads (#5358) (09b155e)
- miner: claimNextBatch can claim the wrong host's row across two forge hosts (#5594) (2cd2aa8)
- miner: close two blind spots in the DEPLOYMENT.md docs-accuracy audit (#5435) (156b382)
- miner: close_pr runs unconditionally before its best-effort comment (#5494) (68ce986)
- miner: constrain discovery pagination URLs (#5487) (09fd393)
- miner: derive sdk changed files from git (#5362) (20dc547)
- miner: fail closed for CLI drivers when house-rule hooks are explicitly requested (#5142) (029ada8)
- miner: full-cutover rename gittensory-miner config dir + Prometheus metric names (#5721) (8496b4f)
- miner: gate doctor's claude/codex CLI-presence checks by MINER_CODING_AGENT_PROVIDER (#5165) (#5271) (fb9fb20)
- miner: keep AMS policy operator-local (#5351) (5f28519)
- miner: reject symlinked goal specs (#5497) (690644d)
- miner: scope claim-ledger by forge host, not bare repoFullName (#5576) (f3cbcc0)
- miner: scope deny-hook synthesis proposals by forge host, not bare repoFullName (#5595) (a7f2063)
- miner: scope governor_reputation_history by forge host, not bare repoFullName (#5591) (968a838)
- miner: scope portfolio-queue by forge host, not bare repoFullName (#5583) (8e42774)
- miner: scope run-state by forge host, not bare repoFullName (#5585) (b1d3e8d)
- miner: status --json reports the real installed engine version, not the declared range (#5447) (eab80bc)
- miner: thread githubToken/apiBaseUrl into the PR-disposition poll (#5320) (776d59c)
- miner: use camelCase readOnly in checkStoreIntegrity's DatabaseSync open (#5572) (738c312)
- miner: wire real dollar-cost tracking into the loop's budgetSpent (#5356) (7935bb4)
- miner: wire recordOwnSubmission's write side into the real attempt pipeline (#5678) (ebb540d)
- miner: write acceptance criteria safely (#5322) (dada3ec)
- observability: avoid exposing live AMS ledgers (#5471) (2fd9196)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @loopover/engine bumped from * to 2.0.0
- dependencies