mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-01 06:24:41 +01:00
fix: pre-landing review fixes (CHANGELOG says 3 characters shorter; model-overlays guards the coverage half)
The completeness section shrank by 3 characters (5 bytes), matching the 89 pins lowered by 3. The default-copy test pinned only the minimal-code half; an expectMentions check now fails if the full-coverage or never-excuses-a-gap clause is dropped. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
8ab9e41e56
commit
88e3cc026b
2 files changed
+3
-1
No files matched your search
+1
-1
@@ -5,7 +5,7 @@
|
||||
**The Completeness Principle now asks for complete coverage with minimal code.** Every tier-2+ skill's preamble said "the complete thing is the goal", and ETHOS.md told models to "always prefer A" because "the 70-line delta costs seconds". Models read that as permission to write more code, which is the "50-line job arriving as 400" complaint (GSTA-93). Coverage of the requirement is still non-negotiable; code beyond it is no longer a virtue.
|
||||
|
||||
### Changed
|
||||
- **`scripts/resolvers/preamble/generate-completeness-section.ts`**: the default section reads "Complete coverage, minimal code": recommend full coverage of the requirement (tests, edge cases, error paths) and no code beyond it, prefer the smaller diff at equal coverage, and add no checks for impossible states. Unrelated work stays separate scope. The `Completeness: X/10` scoring rule and the GPT-5.6 Sol variant are unchanged. The section is 5 characters shorter, so every regenerated skill shrinks and 89 size pins go down.
|
||||
- **`scripts/resolvers/preamble/generate-completeness-section.ts`**: the default section reads "Complete coverage, minimal code": recommend full coverage of the requirement (tests, edge cases, error paths) and no code beyond it, prefer the smaller diff at equal coverage, and add no checks for impossible states. Unrelated work stays separate scope. The `Completeness: X/10` scoring rule and the GPT-5.6 Sol variant are unchanged. The section is 3 characters shorter, so every regenerated skill shrinks and 89 size pins go down.
|
||||
- **`ETHOS.md`**: "Completeness is cheap ... always prefer A" becomes "Complete coverage, minimal code": completeness is measured in coverage, not lines; at equal coverage choose the smaller diff; no speculative abstractions, impossible-state checks or unneeded refactors. A new anti-pattern names the impossible-state fallback.
|
||||
- `review/specialists/simplification.md` and `CLAUDE.md` quote the new house rule instead of "If A is 70 lines more, choose A".
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ import { CLAUDE_JUDGE_EVAL_MODEL } from '../lib/eval-model';
|
||||
import { readOverlay } from '../scripts/resolvers/model-overlay';
|
||||
import { generateCompletenessSection } from '../scripts/resolvers/preamble/generate-completeness-section';
|
||||
import { generateSetupCommand } from '../scripts/resolvers/utility';
|
||||
import { expectMentions } from './helpers/prompt-structure';
|
||||
|
||||
describe('model-overlay-fable-5', () => {
|
||||
function makeCtx(model: string): TemplateContext {
|
||||
@@ -121,6 +122,7 @@ describe('GPT-5.6 Sol model profile', () => {
|
||||
expect(generic).toContain('make your best judgment and proceed');
|
||||
expect(completeness).toContain('Complete coverage, minimal code.');
|
||||
expect(completeness).toContain('prefer the smaller diff');
|
||||
expectMentions(completeness, [['full coverage', 'requirement', 'error paths'], ['never', 'gap']], 'default completeness section');
|
||||
});
|
||||
|
||||
test('terse mode still suppresses the completeness section for Sol', () => {
|
||||
|
||||
Reference in new issue
Block a user