mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-12 16:08:59 +02:00
test(e2e): periodic-tier repairs from the failure triage
Each fix traces to a receipt: brain-privacy-gate staged config never reached the hermetic child (ambient GSTACK_HOME is scrubbed) and the operator's remote-mode gbrain suppressed the gate — both now injected per-test; ship-idempotency threw away its evidence on the timeout path and ran a 600s budget its own subject can exceed (now 900s, evidence captured); auto-decide-preserved gets the same headroom its sibling plan-ceo tests got; context-skills' hides-checks scanned bash output where an ls legitimately names old checkpoints (final-text scope now); design names the missing section instead of a bare count and learns the easing/duration/micro-interaction synonyms; qa-workflow's collector afterAll gets an explicit 60s hook timeout.
This commit is contained in:
@@ -126,7 +126,7 @@ Write DESIGN.md and CLAUDE.md (or update it) in the working directory.`,
|
||||
'Color': ['color', 'colour', 'palette', 'colors'],
|
||||
'Spacing': ['spacing', 'space', 'whitespace', 'gap'],
|
||||
'Layout': ['layout', 'grid', 'structure', 'composition'],
|
||||
'Motion': ['motion', 'animation', 'transition', 'movement'],
|
||||
'Motion': ['motion', 'animation', 'transition', 'movement', 'easing', 'duration', 'micro-interaction'],
|
||||
};
|
||||
const missingSections = Object.entries(sectionSynonyms).filter(
|
||||
([_, synonyms]) => !synonyms.some(s => designContent.toLowerCase().includes(s))
|
||||
@@ -152,7 +152,9 @@ Write DESIGN.md and CLAUDE.md (or update it) in the working directory.`,
|
||||
expect(['success', 'error_max_turns']).toContain(result.exitReason);
|
||||
expect(designExists).toBe(true);
|
||||
if (designExists) {
|
||||
expect(missingSections).toHaveLength(0);
|
||||
// join() so a failure names the offending section(s) — a bare
|
||||
// toHaveLength(0) failure never prints WHICH synonym set missed.
|
||||
expect(missingSections.join(', ')).toBe('');
|
||||
}
|
||||
if (claudeExists) {
|
||||
const claude = fs.readFileSync(claudePath, 'utf-8');
|
||||
|
||||
Reference in New Issue
Block a user