hikari9/auto-office
unversioned · d6fda3e636cb
Adaptive office engineering runtime: routed execution, independent review, verification, and closeout through one office CLI.
Changelog
One line or short list per version, newest first. The version itself lives only in src/office/_version.py (see AGENTS.md).
3.10.2
- fix(routing): honor harness-major user rules for declared routes and register Argon lineage; align release tests with current routing and catalog policy.
3.10.1
- test(gate): run changed-file-targeted
--alltests for each PR and pre-push; attest scoped Office landing checks separately from the explicit full suite (#854).
3.10.0
- feat(catalog): move the shipped model seed to strict, normalized TSV routing and benchmark tables plus YAML provenance; keep legacy in-memory objects, run hashes, lineages, user overlays and policy unchanged (#852).
3.9.0
- feat(routing): a user role allow (or exact
preferred_seedentry) makes a route dispatchable with no proof, qualification or trust gate and overrides a catalog or user-overlaydispatchable: false; a runtime route failure is logged (route.failed), demoted for a TTL and falls back to the next eligible route;office route policy --effectiveshows what dispatches and why, andoffice route allow a,breshuffles several routes at once (#845). - feat(routing): committed role policy is size-scoped allow / neutral / deny from one data file,
catalog/role-policy.yaml(#850 sections 1-3). Executor follows the #809 slate by size (Haiku, Gemini 3.8 Flash, GPT-6.1 Terra, Sonnet 5.5 on claude and agy, XL Opus on claude only, GPT-6.1 Sol, conditional GLM) and denies Astra and 5.6 Sol/Terra; code and plan reviewers are Luna high > DeepSeek max > Opus low (claude, then agy) with Sonnet medium/high and Opus above low denied; the visual reviewer is Gemini 3.8 Flash low/medium and GPT-6.1 Terra low. Userrole_rulesacceptsizes,office route allow|neutral|deny|clear --size XS,Swrites them andoffice route policy --effective --size XLshows one size. - feat(routing): the #809 size slates are the default executor routing (#846, #850 §1 and §4). A sized XS-XL run nominates its slate ahead of a flat
roles.executor.preferred_seed(a per-size seed you set still wins), slate routes that qualify rank ahead of every route outside the slate (the others stay behind as fallbacks), and an unpinned planned slate whose primary is outside the slate re-routes at dispatch.statusnames the preferred route when a task runs on another. The orchestrator plans every gear, including L and XL; a standalone planner runs only on--planner dedicated, routed by run gear: M Opus 5.5 low, Astra low, Argon 4 low; L medium; XL high. - catalog: register Gemini 4 Argon Medium (unscored, #809 L-only exception) and High (AA v4.3.2 score 53) on agy as non-dispatchable rows pending launch-banner conformance; slugs verified via
agy models(#809, #850).
3.8.2
- perf(test):
office waituses a monotonic deadline and a clock/sleeper seam; deterministic wait tests run on a virtual clock (#796, #797).
3.8.1
PATCH: #809 conformance follow-up (#841).
- An M run executes a task inline only for a one-task, low-risk run with a structured, strictly positive, beneficial
inline=<n> dedicated=<n> <unit>: <evidence>estimate (evidence of at least 12 characters and 3 words); zero, negative, non-finite, equal, dearer and placeholder estimates delegate, and S follows the same estimate rule. Runs pinned before the XS-XL gear model never go inline. - New-run help prefers XS-XL; a historical gear alias prints a compatibility notice and keeps its pinned gates.
- Tests: the scripted-fake routing hides every agy row (Gemini as well as Claude), so a fake worker no longer runs as a real process that drains convergence jobs past an in-process monkeypatch (
test_a_failed_subagent_blocks_convergence_and_spends_no_roundfailed about half the runs).
3.8.0
MINOR: role-scoped routing policy (#837, advances #627). Backward compatible.
- Policy: role-scoped
allow/neutral/denyreplaces theproven/valid-unverified/quarantinedtrust gate. New routes are neutral and eligible; a deny excludes a route for that role only. User config outranks shipped defaults; repo config and--setcannot write role rules. - CLI:
office approve trustis deprecated: it still runs, records nothing, and prints the newoffice route allow|denypointer (historical trust acts stay as audit evidence). Newoffice route policy|allow|neutral|deny|clear|override|migrate.office route overrideis a user-issued, signed, time-boxed one-off deny override bound to a run, role and route; a quote or orchestrator pin cannot lift a deny. - Config: new
routing.user_policy.role_rulesandstrict_allow_roles(user tier only); shipped reviewerstrict_seedis nowfalse. Existingdenied_modelsand ceilings keep working unchanged. Pinned older runs keep their pinned runtime. - Migration:
office route migrate(dry run),--apply,--rollback. - Runtime pinning (#843): a later MINOR or PATCH of the same MAJOR now serves a pinned in-flight run (
version.serves) and moves it onto its own line at the next idle boundary (upgrade.auto_adopt); a live executor no longer strands the run. Only a MAJOR bump, or a line inversion.BREAKING_LINES, needsoffice upgrade.
3.7.0
Rolls up everything landed on main since 3.6.6 (the version was not bumped per PR before this release).
- Routing: new-model trials on bounded production tasks, pin-loop fix, strict reviewer seed (#815); quoted override effort ceiling (#818);
routing_seedno longer hashesplan_version(#820); seeded reviewer fallbacks cut by the trust floor are named (#825); Claude effort readback for the conformance probe (#832); no free-route substitution for an available paid preference. - Catalog: GPT-6.1 Terra with effort-aware 6.1-over-5.6 Sol/Terra supersession (#811);
claude-opus-5-5@lowdispatchable on recorded probe evidence (#835); Pi/Kilo MiMo 2.6 Pro and Flash routes retired (#786). - Runtime fixes: stalled orchestration recovers with current legal actions (#747); route authority preserved and accepted-task reroutes requalified (#745); squash landing provenance verified before closing runs (#748); runs anchored to durable Git repository roots (#746); fetched bases and dependency composition preserved (#743); review authority packets refreshed and foreign-scope repairs blocked (#742).
- Docs: Codex first-launch trust and hook-review screens (#807); reviewers on luna@high with opus@low the only fallback.
- Versioning: single source
src/office/_version.py;pyproject.tomlreads it dynamically; theVERSIONfile and manifest versions are removed; mandatory per-PR semver bump inAGENTS.md.