mirror of
https://github.com/garrytan/gstack.git
synced 2026-08-21 05:27:14 +02:00
* feat: model taxonomy gains gpt-5.6-sol + per-host generation defaults
Adds 'gpt-5.6-sol' to the model taxonomy with exact-match-only resolution
(Terra/Luna/suffixed IDs deliberately fall back to generic gpt) and replaces
the hardcoded 'claude' generation default with a validated
HostConfig.defaultModel: codex renders the gpt profile when --model is
absent, every other host keeps claude. Codex ship golden regenerated
accordingly; ADDING_A_HOST documents the new field.
* feat: gpt-5.6-sol bounded-scope overlay + scope-aware resolvers
The Sol profile pins the explicit task as the lake: adjacent work is
report-only, investigation is bounded, runs terminate on one clean
verification pass, and the AskUserQuestion decision-brief format is never
trimmed. The overlay wrapper grants scope-interpretation precedence while
concrete workflow steps, gates, and skill-mandated re-verification loops
still win. Sol-specific Completeness Principle and first-run intro copy.
New SETUP_COMMAND resolver renders './setup --host <host>' for every
non-claude host so generated upgrade skills reinstall their own host.
* feat: setup reads the Codex model from config.toml
New resolve-codex-generation-model.ts reads the top-level model from
${CODEX_HOME:-~/.codex}/config.toml, validates against the model allowlist,
strips control characters from every config-derived string it surfaces,
guards against non-absolute config locations, and warns on Sol near-misses.
setup runs it on EVERY invocation (read-only TOML lookup) so a plain
./setup can never clobber a Sol user's rendered profile with the hardcoded
fallback; --model <id> overrides for one run and prints the persistence
hint. Kiro installs render the claude profile before copying (Kiro fronts
Claude-family models), rewrite the baked setup command to --host kiro, and
restore the resolved Codex profile after; the codex skills path honors
CODEX_HOME. Static pins cover the resolver wiring, fail-closed exit,
quoted argv, and the Kiro sandwich.
* feat: hermetic Codex runner hardening + Sol scope-termination E2E
The Codex E2E runner copies auth.json only (operator plugins, MCP servers,
rules, and skills no longer leak into hermetic evals), pins CODEX_HOME to
the temp dir, and supports per-run model, TOML overrides, and
--ignore-user-config. New periodic E2E installs the FULL generated
investigate skill on gpt-5.6-sol against a planted one-line bug with decoy
TODOs: the fix must land inside the boundary (untracked files counted via
git status --porcelain), decoys stay byte-identical, the regression oracle
survives unweakened, nothing gets committed, all within 30 tool calls.
The shared .agents tree is snapshotted and restored exactly in beforeAll;
fixture commits disable gpg signing. Wired into the periodic CI matrix,
paid-shard globs, eval scripts, touchfiles/E2E_TIERS
(codex-sol-scope-termination), and diff-based selection. Real-file
periodic-tier classification pins both codex E2Es out of the gate tier.
Free-tier test proves an explicit --model overrides the host default
through the real generation CLI.
* chore: bump version and changelog (v1.67.2.0)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs: post-ship documentation sync for v1.67.2.0
- README: Codex skills path is CODEX_HOME-aware; state that
--model overrides detection for one run only (persist via
the Codex config.toml model key)
- CONTRIBUTING: add the model-overlay axis to the per-host
config table (per-host defaultModel, override precedence)
- CLAUDE.md: eval results dir is ~/.gstack/projects/<slug>/evals/
(legacy fallback ~/.gstack-dev/evals/), matching eval-store.ts
and the eval:* CLI headers
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs: post-ship documentation sync (v1.67.2.0)
Sol exact-match and near-miss warning documented in README; CODEX_HOME-aware
uninstall and troubleshooting paths; hermetic auth.json-only detail and the
build-clobber gotcha in CLAUDE.md; eval-store location corrected in
ARCHITECTURE.md; defaultModel row in the ADDING_A_HOST field reference;
resolver test count corrected in the CHANGELOG entry.
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
29 lines
1.6 KiB
Markdown
29 lines
1.6 KiB
Markdown
**The explicit task is the lake.** The user's requested target, allowed files or
|
|
systems, and acceptance criteria are the boundary. Interpret "complete," "full,"
|
|
"exhaustive," "every," "100%," and "Boil the Ocean" as complete within that
|
|
boundary, never as permission to widen it.
|
|
|
|
**Keep adjacent work report-only.** Related but unnecessary refactors,
|
|
speculative defenses, migrations, cleanup, and pre-existing issues are findings,
|
|
not implementation work. Mention them briefly at handoff without changing them.
|
|
|
|
**Bound investigation.** Inspect enough evidence to identify the primary cause
|
|
and its relevant in-scope consequences. Once those are established, stop widening
|
|
the search unless a concrete contradiction or failed acceptance criterion requires
|
|
more evidence.
|
|
|
|
**Terminate on verified completion.** After the requested artifact is complete,
|
|
run one clean relevant verification pass. If it passes, stop and report. Do not
|
|
repeat passing checks, reopen settled questions, or harden hypothetical failure
|
|
modes unless the user asks or a concrete failure makes that work necessary.
|
|
|
|
**Completeness still matters inside scope.** Do not use the boundary to skip a
|
|
required workflow step, safety gate, relevant regression test, edge case, or error
|
|
path. Finish the whole requested job, then stop.
|
|
|
|
**AskUserQuestion is never trimmed.** Bounded scope does not compress decision
|
|
briefs. Every AskUserQuestion carries the full format from the preamble: the
|
|
ELI10 paragraph, a `RECOMMENDATION:` line on its own line, and scored options.
|
|
When a skill workflow says STOP or asks via AskUserQuestion, that gate wins over
|
|
any urge to terminate — wait for the user.
|