Skip to content

Desuppress ACM guidance so models proactively fold, not just save#16

Merged
KorenKrita merged 7 commits into
mainfrom
acm-fold-desuppression-phase1
Jul 17, 2026
Merged

Desuppress ACM guidance so models proactively fold, not just save#16
KorenKrita merged 7 commits into
mainfrom
acm-fold-desuppression-phase1

Conversation

@KorenKrita

@KorenKrita KorenKrita commented Jul 17, 2026

Copy link
Copy Markdown
Owner

What & why

High-intel models plateaued at save-only under the cold, de-primed flow — they created checkpoints but never folded/rebased. This branch de-suppresses the ACM guidance so folding reads as a normal, safe, default move, without adding any coercive machinery. The guidance is unified — one CORE (道) + one 术 layer (TOOL-CONTRACTS + 30% nudge) for all models; there is no model-specific text.

Changes

Product (24fb1a07)

  • CORE.md: invert the cadence default (folding is the default; skip only with a named reason); add budget-vs-attention framing (low usage isn't by itself a reason to keep raw process live); frame a fold as as-recoverable-as-a-save.
  • TOOL-CONTRACTS.md: travel guideline → "a normal working move … as readily as you save a checkpoint"; result cues tilted action-first ("fold it into a handoff", "Rebase instead").
  • context-usage-nudge.ts: de-suppress the 30% tier to point at folding now (removed the "Nothing is required now" escape hatch); 50/70 tiers untouched.
  • generated-guidance.ts regenerated from canonical; test locks co-evolved.

Docs (e8cdb54e) — sync the README 30% nudge bullet with the shipped de-suppressed text.

Eval infra (4f802fc2, 87cef57a) — Phase-1 activation eval harness (exprlang long-flow + LLM judge), PHASE1-LOG.md, and PHASE2-LOG.md. Run outputs gitignored.

Phase 1 — high-intel models (exprlang long-flow, 60K, n=3)

  • sol: reliable proactive fold — activation 3/3, handoff 3, task 3/3.
  • opus: save-only → 2/3 fold (handoff 3 when it folds). Residual 1/3 is an irreducible non-coercive tunnel (a delivered nudge is ignored on ~1/3 of runs).
  • No task-quality regression (task_completion 3 across all runs).

Phase 2 — small models under the SAME unified guidance (n=3 each)

mimo-v2.5 (thinking=off), deepseek-v4-flash, kimi-k2.7-code-highspeed:

  • task_completion = 3 in all 9 runs — ACM never harmed the task; no thrash, no overfold.
  • All three reach valid hand=3 folds; even mimo (thinking=off) folds validly 2/3.
  • Residual ~1/3 weak/zero runs are the same non-coercive tunnel variance, not small-model breakage.
  • Large models are unaffected because the guidance is unified and unchanged.

Conclusion: the de-suppression lifts both model tiers off the save-only plateau while staying safe for small models and unchanged for large ones.

Constraints held

道术度 preserved: no state machine, no mandatory preflight, no suffix machinery; task_completion=3; ACM_CORE=5950 (<6000). 33 guidance+nudge tests + typecheck green.

Review

Two-axis review (Standards + Spec) of the code range — both PASS. One accepted judgement-call (no-fix, out of scope): ACM_CORE headroom is only 50 chars, flagged for future edits. Doc/log commits verified factually against the shipped nudge text and run verdicts.

High-intel models plateaued at save-only under the cold de-primed flow: they created checkpoints but never folded/rebased. Invert the CORE cadence default (folding is the default; skip only with a named reason), add the budget-vs-attention framing (low usage is not by itself a reason to keep raw process live), and frame a fold as as-recoverable-as-a-save. Tilt the travel tool guideline and result cues toward action, and de-suppress the 30% context nudge tier to point at folding now rather than a hypothetical later fold.

Eval (exprlang long-flow, 60K window, n=3): sol reaches reliable proactive fold (act 3/3, handoff 3); opus moves from save-only to 2/3 fold (handoff 3). No task-quality regression (task_completion 3 across all runs). Keeps the 道术度 design: no state machine, no mandatory preflight, ACM_CORE<6000.
Long-flow eval measuring whether models proactively fold under a cold, de-primed 6-phase coding flow, judged on activation/timing/handoff/recoverability/ceiling/task_completion. Includes the exprlang fixture, flow driver, LLM judge, and PHASE1-LOG.md documenting the HEAD->v1->v2 iteration. Run outputs (eval/.runs, eval/.harness) are gitignored.
The v2 change rewrote the 30% context-nudge tier to point at folding now (README still described the old checkpoint-oriented framing). Align the README bullet with the shipped nudge text.
n=3 per small model (mimo-v2.5, deepseek-v4-flash, kimi-k2.7) under the unified v2 guidance: task_completion=3 in all 9 runs (no ACM-induced task damage, no thrash), all three reach valid hand=3 folds, residual ~1/3 weak/zero runs are the same non-coercive tunnel variance as Phase-1. Conclusion: v2 satisfies Phase-2 (small models safe + frequently competent; large models unaffected because the guidance is unified and unchanged).
@KorenKrita KorenKrita changed the title Desuppress ACM guidance so models proactively fold, not just save (Phase-1) Desuppress ACM guidance so models proactively fold, not just save Jul 17, 2026
Add cadence-research-flow to probe whether the v2 fold-desuppression
conclusion generalizes beyond the single exprlang coding flow.

- flow.mjs: RESEARCH_FLOW (6 research/synthesis phases over 5 seeded
  design docs, no tests/no green exhale) + per-flow taskCompletionDesc
  + getFlow(); LONG_FLOW gains its taskCompletionDesc.
- run-flow.mjs: --flow selector (default exprlang-long-flow), threads
  flow + taskCompletionDesc.
- judge.mjs: parameterize the task_completion dimension per flow.
- fixtures/cadence-docs/: 5 interlinked docs with a planted retry
  contradiction (5 vs 3) and a buried detail (STANDARD timeout 900s).
- PHASE3-LOG.md: verdict = v2 conclusion PARTIALLY generalizes.
  Large-model proactive fold generalizes (sol clean; opus 3/3 activate);
  new shape-specific weakness = opus over-folds on no-green-signal
  research (task=2 x3); small-model activation is coding-specific but
  stays safe.
Builds on v2's de-suppression. Two shifts:
- CORE cadence: the fold trigger is re-anchored from context pressure/budget
  to the rhythm of the work (finish a unit -> its raw process is sediment to
  fold); 'comfortable cruise' is demoted to the result of the habit, not its
  trigger, and pressure to a backstop.
- TOOL-CONTRACTS: a fold-honesty guard on the travel guideline -- a fold is
  context hygiene, never a substitute for the turn's deliverable; NEXT carries
  still-undelivered work, and recording it in State is not giving it.

All locked phrases and constraints preserved (ACM_CORE 5980<6000, no state
machine, task_completion=3; 109 root tests + typecheck green). Native-window
eval could not distinguish v3 from v2/fable because the flow is too small to
build low-%/high-sediment conditions, so this is a design-judgment change,
not an eval-validated one.
- run-flow.mjs: --native runs on the model's real context window
  (buildAgentDir shrink:false) so the % nudge stays silent, isolating the
  static CORE (dao) from the pressure nudge.
- PHASE4-LOG.md: at native window the short flow peaks ~7%, below the 30%
  nudge tier, so fable/v2/v3 are indistinguishable there. The flow is too
  small to test low-pressure folding -- a measurement limit, not a guidance
  property.
@KorenKrita
KorenKrita force-pushed the acm-fold-desuppression-phase1 branch from 0a9ebe3 to 2721f81 Compare July 17, 2026 10:46
@KorenKrita
KorenKrita merged commit 2721f81 into main Jul 17, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant