# AgentCode: changelog

## 2026.07.02-release-sync-stage12-v1

- Added Stage 12 release sync report: `RELEASE_SYNC_STAGE12_REPORT.md`.
- Synced Stage 11 OpenCode-live fixes into the signed release line.
- Synced the public server web-root and `/downloads` copy; it had still been serving `2026.07.01-hard-coding-benchmark-live-v2`.
- Updated release version to `2026.07.02-release-sync-stage12-v1`.
- Updated updater default manifest version so future builds do not accidentally use an old release name.
- Release note now states benchmark old/new honestly:
  - old live coding benchmark: `17/36`, not acceptable for a coding-first product claim;
  - Stage 9 gates: implemented, reference `36/36`;
  - Stage 10 unseen benchmark: reference `20/20`, live agent still pending;
  - Stage 11 live OpenCode-compatible check: `8/8`.
- Status remains: local coding-agent beta / smoke and OpenCode-live checks passed / not a proven production autonomous coding product.

## 2026.07.02-opencode-live-stage11-v1

- Added `agentcode_opencode_live_stage11.py`.
- Added live OpenCode-compatible Stage 11 checks for user-visible terminal statuses.
- The live run exercises `http://127.0.0.1:11437/v1/chat/completions`, the same gateway OpenCode uses.
- OpenCode model visibility remains limited to `agent-pipeline-orchestrator`.
- Added first-class terminal statuses in the gateway:
  - `weak_evidence`;
  - `tool_not_connected`.
- Fixed `safe-replace` finalization:
  - helper output `updated:` plus `check_returncode: 0` now closes as `done` without calling the responder model;
  - responder timeout can no longer turn a verified helper success into `failed`.
- Fixed multiline refactor replacement:
  - escaped `\n` in replacement args is converted to real newlines before patching.
- Stage 11 live run passed:
  - run: `/Users/1234/.agentcode-mac/test-runs/opencode-live-stage11-20260702T0220/summary.md`;
  - result: `8/8 pass`;
  - observed statuses: `done`, `weak_evidence`, `needs_confirmation`, `tool_not_connected`, `failed`.
- Added report: `OPENCODE_LIVE_STAGE11_REPORT.md`.

## 2026.07.02-unseen-benchmark-stage10-v1

- Added `agentcode_unseen_coding_benchmark.py`.
- Added 20 new unseen coding cases that are separate from the existing 36-case benchmark.
- The unseen set uses different filenames/styles and includes both Python and JavaScript cases.
- Coverage includes:
  - syntax bugs;
  - logic bugs;
  - async/config bugs;
  - missing-test tasks;
  - multi-file bugs;
  - refactors with tests;
  - impossible/incomplete/GUI-tool-not-connected contract cases.
- Unseen acceptance targets:
  - minimum: 15/20, 75%;
  - strong: 16/20, 80%.
- `summary.json` and `summary.md` include unseen gate stats.
- Reference verification passed:
  - `/Users/1234/.agentcode-mac/test-runs/unseen-benchmark-stage10-reference-20260701T225814Z/summary.md`;
  - result: `20/20 pass`.
- Added report: `UNSEEN_BENCHMARK_STAGE10_REPORT.md`.

## 2026.07.02-benchmark-gates-stage9-v1

- Added Benchmark Gates to `agentcode_hard_coding_benchmark.py`.
- Full benchmark acceptance now reports:
  - Gate 1: `syntax_bug`, `logic_bug`, `async_bug`, `config_bug`, target 95%+;
  - Gate 2: `missing_test`, target 80%+;
  - Gate 3: `multi_file_bug`, `refactor_with_tests`, target 70%+;
  - Gate 4: `impossible_task`, `incomplete_data`, `must_refuse`, missing/GUI/tool-not-connected categories, target 100%;
  - overall minimum: 29/36.
- `summary.json` now includes `benchmark_gates`.
- `summary.md` now includes a Benchmark Gates table and ungated support categories.
- Full agent benchmark exit status now follows gate acceptance instead of requiring 36/36.
- Reference/subset runs remain strict: any failed selected case fails the run.
- Verification passed:
  - `python3 -m py_compile agentcode_hard_coding_benchmark.py`;
  - positive and negative gate unit smokes;
  - full reference benchmark: `/Users/1234/.agentcode-mac/test-runs/benchmark-gates-stage9-reference-20260701T225050Z/summary.md`, `36/36 pass`.
- Added report: `BENCHMARK_GATES_STAGE9_REPORT.md`.

## 2026.07.02-loop-intelligence-stage8-v1

- Added Loop Intelligence guards to the coding runner.
- Runner now tracks stable signatures for generated diffs and failed checks.
- A third identical diff is blocked before apply, with `loop_diff_guard` evidence.
- A repeated identical check failure triggers `strategy_shift_required`:
  - the next iteration must change hypothesis/patch strategy;
  - ordinary coder failure count is escalated toward heavy coder;
  - the event is saved in loop memory and `events.jsonl`.
- Heavy coder failure now stops the loop with `needs_user` unless it is a startup failure with an explicitly allowed ordinary-coder fallback.
- Loop checkpoints/progress now persist:
  - `diff_signatures`;
  - `check_failure_signatures`;
  - `loop_guard_notes`;
  - last diff/check repeat counts.
- Config now exposes:
  - `diff_repeat_threshold: 2`;
  - `check_failure_repeat_threshold: 2`;
  - `strategy_shift_after_check_repeat: true`;
  - `stop_after_heavy_failure: true`.
- Static/unit checks passed:
  - `python3 -m py_compile kontur_agent_pipeline.py agentcode_hard_coding_benchmark.py`;
  - `python3 -m json.tool agent_pipeline_config.json`;
  - helper signature/progress smoke.
- Live benchmark smoke was started but manually interrupted after long model wait before runner artifacts were produced:
  - run root: `/Users/1234/.agentcode-mac/test-runs/loop-intelligence-stage8-smoke-20260701T223847Z`.
- Added report: `LOOP_INTELLIGENCE_STAGE8_REPORT.md`.

## 2026.07.02-checker-json-stage7-v1

- Added strict Checker JSON mode for the coding loop.
- Checker now returns/normalizes a structured `agentcode.checker_verdict.v1` object:
  - `verdict`: `pass|continue|weak_evidence|fail`;
  - `blocking_reasons`;
  - `required_next_change`;
  - `test_strength`: `strong|weak|missing`.
- Runner saves checker raw output separately as `iteration_XXX_checker_raw.md`.
- Runner saves the normalized checker verdict as `iteration_XXX_checker_verdict.json`.
- Evidence Gate 2.0 now requires a valid checker verdict and artifact file.
- Deterministic failures cannot be overridden by checker model text:
  - checker `pass` with failing deterministic checks is downgraded to `fail`;
  - `checker_verdict_passed` requires both `checks_ok=true` and `verdict=pass`.
- Config now enables `require_checker_verdict`.
- Live smoke passed:
  - case: `syntax_missing_colon`;
  - run: `/Users/1234/.agentcode-mac/test-runs/checker-json-stage7-smoke-20260702T012814/summary.md`;
  - result: `1/1 pass`;
  - evidence includes `agentcode.checker_verdict.v1`.
- Added report: `CHECKER_JSON_STAGE7_REPORT.md`.

## 2026.07.02-analyzer-json-stage6-v1

- Added hard Analyzer JSON mode for the coding loop.
- Analyzer now returns/normalizes a structured `agentcode.analyzer_repair_brief.v1` object:
  - `bug_hypothesis`;
  - `files_to_inspect`;
  - `files_to_change`;
  - `tests_to_add`;
  - `risk_points`;
  - `patch_strategy`;
  - `stuck_if`.
- Runner saves analyzer raw output separately as `iteration_XXX_analyzer_raw.md`.
- Runner saves the normalized repair brief as `iteration_XXX_repair_brief.json`.
- Coder now receives `ANALYZER REPAIR BRIEF JSON`, not free-form analyzer notes.
- Evidence Gate 2.0 now requires a valid analyzer repair brief and artifact file.
- Apply-fail and coder-fail states now preserve analyzer repair brief evidence in `final_state.last_evidence`.
- Config context compression now preserves `analyzer_repair_brief` instead of `analyzer_notes`.
- Live smoke passed:
  - case: `syntax_missing_colon`;
  - run: `/Users/1234/.agentcode-mac/test-runs/analyzer-json-stage6-smoke-20260702T012039/summary.md`;
  - result: `1/1 pass`;
  - evidence includes `agentcode.analyzer_repair_brief.v1`.
- Added report: `ANALYZER_JSON_STAGE6_REPORT.md`.

## 2026.07.02-refactor-mode-stage5-v1

- Added first-class Refactor Mode to the coding loop.
- Refactor tasks now route as `task_kind=refactor`, not ordinary bugfixes.
- Added the `refactor_mode` dynamic graph:
  - `analyze -> refactor_plan -> code_refactor -> static_structure -> tests -> checker`.
- Added `refactor_plan` proof fields:
  - what to extract;
  - required new structure;
  - public API to preserve;
  - behavior checks;
  - static structure checks.
- Added deterministic `refactor_structure_gate`:
  - verifies required functions/classes/module variables;
  - verifies preserved public API symbols;
  - verifies forbidden snippets are absent;
  - verifies duplicated patterns are reduced below configured limits.
- Evidence Gate 2.0 now rejects refactor success when `refactor_structure_gate` is enabled and not green.
- Added refactor contracts to all 4 `refactor_with_tests` benchmark cases.
- Focused reference benchmark remains green:
  - run: `/Users/1234/.agentcode-mac/test-runs/refactor-stage5-reference-20260702T005028/summary.md`;
  - result: `4/4 pass`.
- Focused live AgentCode benchmark meets Stage 5 target:
  - run: `/Users/1234/.agentcode-mac/test-runs/refactor-stage5-agent-live-20260702T010108/summary.md`;
  - result: `4/4 pass`;
  - every case includes `refactor_structure_gate.ok=true`.
- Added report: `REFACTOR_STAGE5_REPORT.md`.

## 2026.07.01-repo-context-stage4-v1

- Added repo context artifacts for multi-file repairs:
  - `file_map.json`;
  - `imports_map.json`;
  - `call_sites.json`;
  - `repo_context.json`.
- Analyzer/coder/checker prompts now receive a `REPO CONTEXT` block.
- Added `task_contract.json` support for deterministic file-level evidence.
- Multi-file evidence gate now rejects patches when required contract snippets are missing, even if normal tests pass.
- Improved patch robustness:
  - workdir-prefix path normalization, e.g. `repo/service.py` -> `service.py`;
  - automatic `diff --git` header insertion for multi-file unified diffs;
  - `git apply --recount` support for wrong hunk counts;
  - `patch` fallback now runs `--dry-run` before applying.
- Added benchmark flags:
  - `--skip-orchestrator`;
  - `--timeout-multiplier`.
- Reference `multi_file_bug` benchmark remains green: `5/5 pass`.
- Final live focused score improved from `1/5` to `5/5`:
  - run: `/Users/1234/.agentcode-mac/test-runs/repo-context-stage4-agent-live-20260702T002000/summary.md`;
  - route: `coding_loop`;
  - backend coder: `qwen3-coder-next-fp8-heavy`;
  - fallback: `false`;
  - Stage 4 acceptance target `>=4/5` is met.
- Remaining work is performance/ergonomics, not Stage 4 acceptance:
  - report: `REPO_CONTEXT_STAGE4_REPORT.md`;
  - add fast retry after deterministic gate failures;
  - keep larger timeout profile for live multi-file runs until fast retry exists.

## 2026.07.01-test-first-regression-proof-v2

- Upgraded the coding loop from "strong check command exists" to real regression-proof evidence for test-first tasks.
- `kontur_agent_pipeline.py` now writes the Stage 3 artifacts for coding iterations:
  - `pre_fix_test_output.txt`;
  - `post_fix_test_output.txt`;
  - `added_tests.json`;
  - `test_relevance.json`.
- The pre-fix check now runs added/changed tests against an initial baseline workspace captured before the first repair iteration, not merely against the previous iteration.
- `missing_test` benchmark cases now require machine evidence:
  - at least one added/changed test;
  - added test fails on baseline code;
  - post-fix checks pass;
  - test relevance is OK.
- Focused benchmark integrity run remains green:
  - reference `missing_test`: `4/4 pass`;
  - summary: `/Users/1234/.agentcode-mac/test-runs/test-first-stage3-reference-after-baseline-20260701T220656/summary.md`.
- Synthetic no-model regression smoke passed with `pre_failed=True`, `post_passed=True`, and `gate_ok=True`.
- Live focused `missing_test` run exposed product/infrastructure gaps and is intentionally recorded as not passed:
  - run: `/Users/1234/.agentcode-mac/test-runs/test-first-stage3-agent-20260701T215353`;
  - result: `0/4 pass`;
  - reasons included strict test-first rejection, brittle legacy exact-string benchmark checks before this change, and model endpoint failures during the run.
- Rerun after baseline/scoring fixes met the focused Stage 3 acceptance threshold:
  - run: `/Users/1234/.agentcode-mac/test-runs/test-first-stage3-agent-rerun-20260701T220955`;
  - result: `3/4 pass`;
  - every passed case has `pre_fix`, `post_fix`, `added_tests`, and `test_relevance` evidence;
  - remaining failure is a coding-loop robustness issue: invalid/apply-failing diffs plus heavy-coder startup failure, not a test-first gate failure.

## 2026.07.01-benchmark-routing-contract-v1

- Split hard coding benchmark routing for non-code contract cases.
- `kind=contract` cases now run through `product_contract_flow`, not the code-repair loop.
- Contract statuses are deterministic and machine-checkable:
  - impossible task -> `cannot_complete`;
  - incomplete task -> `needs_clarification`;
  - secret exfiltration -> `refuse`.
- Benchmark summaries now include `Route Stats` and `Kind Stats`.
- Verified contract-only agent run: `3/3 pass` at `/Users/1234/.agentcode-mac/test-runs/routing-contract-stage2-20260701-v1/summary.md`.

## 2026.07.01-hard-coding-benchmark-v1

- Added `agentcode_hard_coding_benchmark.py` as the Stage 9 coding benchmark runner.
- The benchmark currently contains 36 cases across syntax, logic, missing-test, multi-file, refactor, API route, CLI, async, config, impossible, incomplete-data, and refusal scenarios.
- Added two modes:
  - `reference`: validates the benchmark tasks and reference repairs;
  - `agent`: runs the live AgentCode coding loop against the same cases.
- Added per-case artifacts, `cases.jsonl`, `summary.json`, and `summary.md` with pass-rate statistics by category and difficulty.
- Added `agentcode_quality_suite.py --suite coding-benchmark` as a no-GPU integrity gate for the benchmark set.
- First reference run passed 36/36:
  - `/Users/1234/.agentcode-mac/test-runs/hard-coding-benchmark-reference-20260701-v3/summary.md`
- First full live agent run failed the product gate:
  - result: 17/36 pass, 47.2%;
  - weak categories: missing-test, multi-file, refactor, config, and contract/refusal routing;
  - summary: `/Users/1234/.agentcode-mac/test-runs/hard-coding-benchmark-agent-full-20260701-v1/summary.md`;
  - product interpretation: `HARD_CODING_BENCHMARK_LIVE_REPORT.md`.
- Added `HOW_TO_RUN_CODING_TASK.md` as the short user-facing document for launching coding tasks and interpreting benchmark results.
- Release/install sync target: `2026.07.01-hard-coding-benchmark-live-v2`.

## 2026.07.01-telegram-control-v1

- Added `agentcode_telegram_control.py` as a remote supervisor entrypoint for AgentCode.
- Supports `/status`, `/current`, `/pause`, `/resume`, `/stop`, `/approve`, `/cancel`, `/report`, `/enqueue`, dry-run polling, and notification sending.
- Telegram control maps commands only to existing local supervisor APIs/CLIs; it does not accept arbitrary shell commands.
- Registry `telegram_control` is now a connected local supervisor tool; real Telegram polling still requires `AGENTCODE_TELEGRAM_BOT_TOKEN` and optional `AGENTCODE_TELEGRAM_ALLOWED_CHAT_IDS`.
- Added deterministic quality coverage for remote-supervisor commands without requiring a real Telegram bot.

## 2026.07.01-context-memory-v1

- Added `context_memory` configuration to the main coding pipelines.
- `kontur_agent_pipeline.py` now writes `loop_memory.json` with task memory, file map, decisions, failed attempts, preserved constraints, changed files, checker recommendations, and `do_not_forget`.
- Analyzer, coder, and checker prompts now receive a compact `CONTEXT MEMORY / DO NOT FORGET` block every iteration.
- Loop checkpoints and final states record `context_memory_file`.
- Added a deterministic regression where the first code attempt fails, the second prompt receives the previous failure through memory, and the final run passes with memory evidence preserved.

## 2026.07.01-tool-registry-v2

- Added `tool_registry` config with schema `agentcode.tool_registry.v2`.
- Upgraded tool entries to `agentcode.tool.v2` with `description`, `sample_task`, `scopes`, probe metadata, and first-class `not_connected` status.
- Added standard tool slots: `npm_test`, `typecheck`, `lint`, `browser_smoke`, and `repo_search`.
- Reworked `agentcode_tool_registry.py` with `list`, `show`, `register`, `probe`, `enable`, `disable`, and persistent `last_result`.
- Registered placeholders such as `browser_smoke`, `jagannatha_hora_gui`, and `telegram_control` now fail honestly as `not_connected` until a real implementation is connected.
- Added deterministic quality cases for registry shape, enable/disable, registration, direct probe, denied unsafe probe, and `last_result`.

## 2026.07.01-evidence-gate-2-v1

- Added `evidence_gate` configuration to the main coding pipelines.
- `kontur_agent_pipeline.py` now writes `evidence_gate.json` before any `pass` final state.
- Evidence Gate 2.0 requires proof plan, non-empty applied patch, changed files, passing deterministic checks, checker pass, test-first gate, model contract, and non-dry-run evidence.
- Deterministic failures cannot be overridden by checker wording.
- Gateway final responses for coding pipeline tool output now use `final_state.json` directly instead of asking the responder model to summarize from memory.
- Added quality cases for failed-check override, weak evidence, final-state responder routing, and successful evidence gate output.

## 2026.07.01-long-loop-controller-v1

- Added `long_loop_controller` to the main Gemma/Qwen/Gemma coding pipelines.
- `kontur_agent_pipeline.py` now writes `loop_checkpoint.json`, `loop_control.json`, and `loop_progress.md`.
- Added `control-loop` CLI command for `status`, `pause`, `resume`, `stop-after-current`, and `stop-now`.
- Added `--resume` for crash recovery from an existing run directory.
- Added repeated-failure signatures: repeated ordinary coder failures escalate to the heavy coder, repeated heavy failures stop as `loop_stalled_repeated_failure`.
- Updated contract/docs and quality checks for long-loop control.

## 2026.07.01-dynamic-graph-v1

- Added `dynamic_graph` to the main Gemma/Qwen/Gemma coding pipelines.
- `kontur_agent_pipeline.py` now creates and validates `task_graph.json` before proof planning.
- Added graph planner prompt, deterministic fallback template selection, graph validator, and terminal graph handling.
- Added `plan-graph` CLI command for dry-checking task routing without running the repair loop.
- Runner now stops with `invalid_task_graph` if a graph references unknown roles/tools or unsupported step types.
- Runner can stop early with a controlled terminal state such as `tool_not_connected` for missing GUI/tool workflows.
- Updated docs and contract checks to require the dynamic graph layer.

## 2026.07.01-test-first-gate-v1

- Added `test_first_policy` to the main Gemma/Qwen/Gemma coding pipelines.
- `kontur_agent_pipeline.py` now classifies check strength:
  - weak: syntax-only / `py_compile` / trivial commands;
  - strong: `pytest`, `unittest`, `npm test`, `node --test`, `curl`, `playwright`, and custom checks.
- Non-syntax coding tasks can no longer finish as `pass` on weak evidence only.
- Added final state `weak_evidence` with a clear next step: add/provide a regression, smoke, or test command.
- Proof-plan prompts now ask for tests/smoke/regression evidence before code starts.
- Updated contract/docs and contract check for the test-first gate.

## 2026.07.01-proof-plan-v1

- Added mandatory `proof_plan.json` generation before coding iterations in `requested_gemma_qwen_loop` and `requested_gemma_qwen_next_loop`.
- Added proof-plan prompt, JSON extraction, normalization, deterministic fallback, validation, and event logging in `kontur_agent_pipeline.py`.
- Analyzer, coder, and checker now receive the proof plan in their prompts.
- `final_state.json` now records `proof_plan_file` and the proof plan for pass/fail/max-iteration outcomes.
- Updated `CODE_AGENT_LOOP_CONTRACT.md`, `AGENT_PIPELINES.md`, and `agentcode_coding_loop_contract_check.py` to require proof-plan configuration.
- No-GPU smoke confirmed `proof_plan_ready` is emitted before any iteration starts.
- Hard suite passed 28/28:
  - `/Users/1234/.agentcode-mac/test-runs/proof-plan-hard-20260701-v1/summary.md`

## 2026.07.01-coding-loop-contract-v1

- Added `CODE_AGENT_LOOP_CONTRACT.md`: the explicit product contract for the coding agent loop.
- Added `coding_agent_contract` to `agent_pipeline_config.json`.
- Declared `telegram_control` as a disabled / `not_connected` future control tool.
- Added long-autonomy knobs to the main Gemma/Qwen/Gemma pipelines:
  - operator max-iteration override;
  - example 5000-iteration setting;
  - explicit exit conditions;
  - context compression rules.
- `kontur_agent_pipeline.py` now writes pass evidence into `final_state.json`: applied patch, changed files, checks, checker verdict, actual coder/backend model, and exit reason.
- Added `agentcode_coding_loop_contract_check.py` for a no-GPU validation of the coding-agent configuration contract.

## 2026.07.01-constructor-endurance-v1

- Added multi-turn live constructor endurance harness: `agentcode_opencode_live_constructor_endurance.py`.
- Added `PRODUCT_CONSTRUCTOR_ENDURANCE_TEST_REPORT.md`.
- First endurance run found real product-quality defects:
  - Python replacement parsing cut `return text.strip().title()` to `return text`;
  - responder leaked previous-turn confirmation output into the next safe follow-up.
- Final live gateway endurance run passed 6/6:
  - `/Users/1234/.agentcode-mac/test-runs/opencode-live-constructor-endurance-20260701-v2/summary.md`
- `safe-replace` parsing now stops at instruction boundaries instead of dots inside code.
- Gateway terminal contract now downgrades fake `done:` answers when the text contains failure markers.
- Responder now uses only current-turn tool output, so stale tool evidence does not poison follow-up answers.

## 2026.07.01-constructor-stress-v1

- Added harder live constructor stress harness: `agentcode_opencode_live_constructor_stress.py`.
- Added `PRODUCT_CONSTRUCTOR_STRESS_TEST_REPORT.md`.
- First stress run found real product-quality defects:
  - prompt-injection task file ended as `done:` even though it was refused;
  - missing-data task ended as `done:`;
  - AutoCAD/DWG was not recognized as a missing GUI tool;
  - literal file content containing `rm -fr /` created a false confirmation.
- Final live gateway stress run passed 10/10:
  - `/Users/1234/.agentcode-mac/test-runs/opencode-live-constructor-stress-20260701-v3/summary.md`
- Embedded task files now fail/deny on prompt-injection, secret-file, or fake-success instructions.
- Missing-data answers now end as `failed`.
- AutoCAD/DWG/CAD requests now fail honestly when no GUI tool is connected.
- `agentcode_write_text_file.py` now supports `--content-b64`, so dangerous-looking text can be written as inert file content without triggering shell-command confirmation.

## 2026.07.01-constructor-edges-v1

- Added live constructor edge harness: `agentcode_opencode_live_constructor_edges.py`.
- Added `PRODUCT_CONSTRUCTOR_EDGE_TEST_REPORT.md`.
- First run found real defects: apostrophe paths, quoted work roots, inline Python code-repair, generic GUI fallthrough, and misleading blocked-read wording.
- Final live gateway run passed 7/7:
  - `/Users/1234/.agentcode-mac/test-runs/opencode-live-constructor-edges-20260701-v4/summary.md`
- Added `safe-replace` to `agentcode_local_task_helpers.py` so simple code repair no longer depends on inline `python -c`.
- Blocked local file reads now answer as denied, not as “file read”.
- Generic GUI/app requests without a connected tool now fail honestly.
- Root/system destructive commands are hard-denied before tool execution.

## 2026.07.01-prebeta-break-tests-v1

- Added live pre-beta chaos harness: `agentcode_opencode_live_prebeta_chaos.py`.
- Added `product-prebeta-chaos` examiner suite.
- Added `PRODUCT_PREBETA_BREAK_TEST_REPORT.md`.
- Live gateway chaos run passed 8/8:
  - `/Users/1234/.agentcode-mac/test-runs/opencode-live-prebeta-chaos-20260701-v2/summary.md`
- Post-fix product/security suites passed:
  - `product-prebeta-chaos`: 10/10;
  - `product-real-tasks`: 26/26;
  - `anti-bullshit-contract`: 10/10;
  - `security-adversarial`: 12/12;
  - `production-gate`: 35/35.
- Fixed CSV embedded task helper for semicolon-separated files and comma decimals.
- Fixed policy matching bug where a safe command such as `/usr/bin/python3 -m platform` could require confirmation because `rm` was matched inside `platform`.
- Cancelled stale test pending-actions from earlier false confirmations.

## 2026.07.01-opencode-live-autonomy-v1

- Added `agentcode_opencode_live_long_autonomy.py`, a live OpenCode-compatible gateway/tool-call harness.
- Added `agentcode_local_task_helpers.py` for safe structured local task helpers instead of inline shell/python snippets.
- Routed long folder reports, embedded task files, batch notes, partial progress, multi-file creation, external read-only reports, and OS detection through live `agent-pipeline-orchestrator` tool calls.
- Fixed regressions found by the first live run:
  - folder helper now searches test-run folders;
  - embedded task files continue after the first file read;
  - folder/catalog requests no longer get misread as plain file reads;
  - multi-file creation no longer emits shell metacharacters;
  - missing-folder searches stop cleanly instead of looping;
  - special Mahabharata routing no longer hijacks generic folder names.
- Final live run: 9/9 pass at `/Users/1234/.agentcode-mac/test-runs/opencode-live-long-autonomy-final-20260701-v1/summary.md`.
- Browser UI smoke passed in Safari: new OpenCode session accepted a prompt, used `Agent Pipeline Orchestrator`, called the shell tool, and returned a `done` final answer.

## 2026.07.01-long-autonomy-v1

- Added `product-long-autonomy` examiner suite.
- Added `PRODUCT_LONG_AUTONOMY_TEST.md`.
- Covered long simple tasks, repeated search failures, partial progress, self-check manifests, and read-only external folder output routing.
- Latest run: 9/9 pass.

## 2026.07.01-beta-agreement-v1

- Added private beta agreement:
  - `BETA_AGREEMENT.md`
  - `BETA_ONBOARDING_CHECKLIST.md`
- Clarified that the first sale is a beta package: setup, server pipeline access, user-specific tuning, support, and one month of improvements.
- Added beta feedback format to `SUPPORT.md`.

## 2026.07.01-demo-set-v1

- Added a five-part sales demo set:
  - folder report;
  - find file and extract data;
  - create script and verify output;
  - fix bug in a mini-project;
  - honest refusal for a missing GUI tool.
- Added `demo_pack/` with prepared local files and a tiny Python bugfix project.
- Added `agentcode demo install`, `agentcode demo list`, and `agentcode demo path`.
- Added `DEMO_SET.md`.
- Bugfix demo uses Python stdlib `unittest`, so it does not require installing `pytest`.

## 2026.07.01-sales-package-v1

- Added first user-facing sales/support package:
  - `README_FOR_USER.md`
  - `KNOWN_LIMITS.md`
  - `EXAMPLES.md`
  - `TROUBLESHOOTING.md`
  - `SUPPORT.md`
- Public AgentCode page now links to the user docs.
- Positioning clarified: local agent for files and code through this Mac plus server models, not a universal autonomous AI developer.

## 2026.07.01-mac-cli-v1

- Added `agentcode` CLI.
- Added commands:
  - `agentcode health`
  - `agentcode open`
  - `agentcode logs`
  - `agentcode check`
  - `agentcode update --dry-run`
  - `agentcode update --restart`
  - `agentcode uninstall --dry-run`
- Added top-level Mac installer:

```bash
curl -fsSL https://agentcode.5nota.com/install-mac.sh | bash
```

- Fixed public `/downloads` route so it serves the signed release directory instead of mixed live source files.
- Rebuilt and signed Minisign release manifest.

## 2026.07.01-product-guard-v1

- Added product answer contract: `done`, `needs_confirmation`, `denied`, `failed`.
- Added anti-bullshit checks: no evidence means no confident success.
- Added product real tasks quality suite.
- Added explicit `not_connected` behavior for GUI tools such as Jagannatha Hora.

## Earlier private beta work

- Local Mac node on `127.0.0.1:17345`.
- Local OpenCode on `127.0.0.1:4097`.
- One visible OpenCode model: `agent-pipeline-orchestrator`.
- Server model tunnel for internal pipeline roles.
- Signed release manifest and manual updater.
