mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-03 09:56:57 +02:00
test(shared-libs): seed the lifecycle replay's first Step 3 pass instead of replaying it
shared-libs-review-lifecycle ran ~88% of its 300 s session budget (12-run census median 265 s, 4/24 sessions timed out). The fixture now executes pass 1's Step 3 once with the real logger and Git: a real unused REVIEW_START, then the diff, inventories, attributes/config/index flags, gstack-review-read output and every file's bytes and sha256, saved to one observation. The model resumes at Step 4 with an exact four-file first read, the observation named as the authoritative pass-1 repository read, one post-fix verification, an explicit pass-2 read list and a twelve-line summary. Pass 2 still runs its own --start, diff, reads, fingerprint and stage actor before --finish. The actor scope now states that a current settled final-pass actor result supplies the replaced QA/adversarial prerequisites and that the no-credit disclosure is a reporting label: one r1 session persisted completed:false from that ambiguity. New assertions: the final binding never uses the seeded token's start or tree, and the observation was read; free controls finish the seeded token (binding changed) and omit the observation read, and both fail.
This commit is contained in:
1 parent
ac177337a1
commit
ea7fbbcb7c
4 files changed
+127
-11
No files matched your search
@@ -103,7 +103,8 @@ describe('bounded shared-code revalidation prompt', () => {
|
||||
'All prior receipts are preserved', 'Source-changing cycles invalidate earlier results',
|
||||
'invoke the actor again on the new zero-edit pass', "Never refresh an old receipt's hashes",
|
||||
'Missing, failed, stale or wrong-state results require noncompletion', 'cannot complete core/checklist review',
|
||||
'no actual native coverage credit']) expect(prompt).toContain(rule);
|
||||
'only a current settled:true actor result from the final pass supplies the replaced Step 4.7 QA and Step 4.8 native adversarial prerequisites',
|
||||
'a reporting label, not a missing stage', 'no actual native coverage credit']) expect(prompt).toContain(rule);
|
||||
expect(prompt).not.toContain('Required reviewer coverage for this scoped replay');
|
||||
expect(prompt).not.toContain('Do not edit target source');
|
||||
});
|
||||
@@ -237,7 +238,7 @@ describe('bounded shared-code revalidation prompt', () => {
|
||||
expect(await invoke()).toBe(result);
|
||||
expect(calls).toEqual([[f, 'shared-libs-review-revalidation', reviewRevalidationPrompt(f, instructions, input, resumed), 'skip', { attempt, prerequisiteSource: 'synthetic-fixture-input' }]]);
|
||||
const lifecycle = source.slice(source.indexOf("test('shared-libs-review-lifecycle'"), source.indexOf("test('shared-libs-review-revalidation'"));
|
||||
expect(lifecycle).toContain('reviewPrompt(f, instructions, input, stageActor)');
|
||||
expect(lifecycle).toContain('reviewPrompt(f, instructions, input, stageActor, seed)');
|
||||
expect(lifecycle).not.toContain('reviewRevalidationPrompt(');
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user