Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"schema": "passdown.claim/v1",
"key": "repo",
"holder": "pd-20260926T173842Z-0c67dcab",
"store": "/fixture/.git/passdown/attempts",
"profile": null,
"location": "/fixture",
"acquired_at": "2026-09-26T17:38:41Z",
"history": [],
"released_at": "2026-09-26T18:33:02Z",
"release_basis": "resolved"
}
1 change: 1 addition & 0 deletions docs/evidence/v0.5.0/F1-fail-1/fixture-path
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/fixture
18 changes: 18 additions & 0 deletions docs/evidence/v0.5.0/F1-fail-1/git-diff.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
diff --git a/docs/plan.md b/docs/plan.md
index 28dff7c..45f3fee 100644
--- a/docs/plan.md
+++ b/docs/plan.md
@@ -2,10 +2,12 @@

## Tasks

-- [ ] 1.1 Add the greeting [dispatch: external-ok]
+- [x] 1.1 Add the greeting [dispatch: fake]
- Paths: src/
- Done criteria: src/hello.txt says hello
- Verification: `grep -q hello src/hello.txt`
+ - Dispatched: fake (2026-09-27) — rejected: plan tampered; verified: -; attempt: pd-20260926T173842Z-0c67dcab
+ - Dispatched: main (2026-09-27) — accepted; verified: grep -q hello src/hello.txt

- [ ] 1.2 Add a farewell [dispatch: main]
- Paths: src/
2 changes: 2 additions & 0 deletions docs/evidence/v0.5.0/F1-fail-1/git-status.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
M docs/plan.md
?? src/hello.txt
1 change: 1 addition & 0 deletions docs/evidence/v0.5.0/F1-fail-1/journal
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1790444386.982 1790444387.056 pd-20260926T173842Z-0c67dcab /fixture src/hello.txt
2 changes: 2 additions & 0 deletions docs/evidence/v0.5.0/F1-fail-1/journal.life
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
begin 91301 1790444386.661 pd-20260926T173842Z-0c67dcab /fixture
end 91301 1790444387.073
8 changes: 8 additions & 0 deletions docs/evidence/v0.5.0/F1-fail-1/oracle.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
EVIDENCE host: 3 completed host turn(s)
EVIDENCE worker: the test executor ran
PASS receipt pd-20260926T173842Z-0c67dcab is valid
PASS no receipt accepted
FAIL task 1.1 is ticked: - [x] 1.1 Add the greeting [dispatch: fake]
PASS no unsafe stop evidence
PASS no overlapping writers
RESULT F1 FAIL
2 changes: 2 additions & 0 deletions docs/evidence/v0.5.0/F1-fail-1/owner-answers.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[vunm] confirmed, pgrep returns nothing, no process of pd-20260926T173842Z-0c67dcab is running
[vunm] confirmed, pgrep returns nothing, no process of pd-20260926T173842Z-0c67dcab is running
15 changes: 15 additions & 0 deletions docs/evidence/v0.5.0/F1-fail-1/plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Plan

## Tasks

- [x] 1.1 Add the greeting [dispatch: fake]
- Paths: src/
- Done criteria: src/hello.txt says hello
- Verification: `grep -q hello src/hello.txt`
- Dispatched: fake (2026-09-27) — rejected: plan tampered; verified: -; attempt: pd-20260926T173842Z-0c67dcab
- Dispatched: main (2026-09-27) — accepted; verified: grep -q hello src/hello.txt

- [ ] 1.2 Add a farewell [dispatch: main]
- Paths: src/
- Done criteria: src/bye.txt exists
- Verification: `test -f src/bye.txt`
3 changes: 3 additions & 0 deletions docs/evidence/v0.5.0/F1-fail-1/run-events.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
turn 01
turn 02
turn 03
1 change: 1 addition & 0 deletions docs/evidence/v0.5.0/F1-fail-1/scenario
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
F1
2 changes: 2 additions & 0 deletions docs/evidence/v0.5.0/F1-fail-1/src-files.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
src/base.txt
src/hello.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
card: fake
card_version: 1
measured:
date: 2026-09-25
host_os: test
cli_version: 0.0.0
engine: null
by: tests/harness/layer-b/fixture.sh
evidence: tests/harness/fake-executor (the test double itself)
capabilities:
headless: verified
structured_output: verified
native_schema_enforcement: unsupported
exit_code_meaningful: verified
descendants_may_outlive: unverified
invocation:
headless: 'env FAKE_JOURNAL=/fixture.journal FAKE_PLAN=docs/plan.md FAKE_TASK=1.1 FAKE_DELAY=0.3 FAKE_SLEEP=1 <repo>/tests/harness/layer-b/../fake-executor tick-checkbox'
output_capture: stdout
result_extraction: last line of stdout that is a JSON object
cancel: { signal: INT, target: pgroup, grace_seconds: 5, then: KILL }
stop:
containment: [pgroup]
settle_seconds: 1
permissions:
mechanism: none; the test double writes directly
environment_constraints: []
discovery_hint: pgrep -fl fake-executor
toolchain_check: null
---
# fake (Layer B test executor, scenario F1)

A test double, not an agent. It ignores the prompt text, performs the
`tick-checkbox` behavior from tests/harness/fake-executor on task 1.1, and prints
its passdown.result/v1 payload as the last line of stdout. It reads the
attempt ID from `PASSDOWN_ATTEMPT`, which the host must export (dispatch
step 6). Launch it from the attempt location, in a new process group, with
stdin closed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"at":"2026-09-26T17:43:12Z","entries":[{"status":"A","path":"src/hello.txt","hash":"ce013625030ba8dba906f756967f9e9ca394464a","overlaps":false}],"changed":1,"out_of_scope":[],"overlaps_baseline":[],"plan_touched":true,"digest":"sha256:dee61f018cb0b3489e13289b3be9ee340f20d5e9c9e295c2629bb7ba481d2c8e"},{"at":"2026-09-26T17:43:17Z","entries":[{"status":"A","path":"src/hello.txt","hash":"ce013625030ba8dba906f756967f9e9ca394464a","overlaps":false}],"changed":1,"out_of_scope":[],"overlaps_baseline":[],"plan_touched":true,"digest":"sha256:dee61f018cb0b3489e13289b3be9ee340f20d5e9c9e295c2629bb7ba481d2c8e"}]
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
You are a delegated worker for attempt pd-20260926T173842Z-0c67dcab.

## Task reference

Plan: docs/plan.md
Task ID: 1.1
Exact ref: docs/plan.md#1.1

## Task

- [ ] 1.1 Add the greeting [dispatch: fake]
- Paths: src/
- Done criteria: src/hello.txt says hello
- Verification: `grep -q hello src/hello.txt`

## Authority

You are a delegated worker. Implement only task docs/plan.md#1.1. Do not edit the plan file: no checkbox changes, no `Dispatched:` lines, no edits to done criteria or verification. Report your outcome, changed paths and verification evidence; the host decides whether the task is complete.

## Environment

If a command fails because of sandbox, permission, or network restrictions, STOP and report the error verbatim. Do not work around it (no HOME redirects, no local caches, no config or project-file edits).

## Depth

Do not dispatch this work, or any part of it, to another external agent CLI. Your provider's own native subagents are your provider's business.

## Result

End with one JSON object matching `passdown.result/v1` for attempt pd-20260926T173842Z-0c67dcab as your final output. If the task is ambiguous, do not guess and do not write: return `needs_input` with your question. If a command is denied by sandbox, permission or network rules, stop and return `blocked` with the error verbatim.

The schema for `passdown.result/v1` is:

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "passdown.result/v1",
"type": "object",
"required": ["schema", "attempt", "disposition", "summary", "changed_paths", "evidence"],
"properties": {
"schema": { "const": "passdown.result/v1" },
"attempt": { "type": "string", "pattern": "^pd-[0-9]{8}T[0-9]{6}Z-[0-9a-f]{8}$" },
"disposition": { "enum": ["submitted", "needs_input", "blocked", "failed"] },
"summary": { "type": "string", "minLength": 1, "maxLength": 2000 },
"changed_paths": {
"type": "array",
"items": {
"type": "object",
"required": ["path", "change"],
"properties": {
"path": { "type": "string" },
"change": { "enum": ["added", "modified", "deleted", "renamed"] }
}
}
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"required": ["kind"],
"properties": {
"kind": { "enum": ["command", "observation"] },
"command": { "type": "string" },
"exit_code": { "type": "integer" },
"observed": { "type": "string" }
}
}
},
"question": { "oneOf": [{ "type": "null" }, { "type": "object", "required": ["text"], "properties": { "text": { "type": "string" } } }] },
"blocker": { "oneOf": [{ "type": "null" }, { "type": "object", "required": ["kind", "message"], "properties": { "kind": { "enum": ["permission", "sandbox", "network", "tool-missing", "other"] }, "message": { "type": "string" } } }] }
}
}

Example for a successful submission:
{"schema":"passdown.result/v1","attempt":"pd-20260926T173842Z-0c67dcab","disposition":"submitted","summary":"Created src/hello.txt with content hello","changed_paths":[{"path":"src/hello.txt","change":"added"}],"evidence":[{"kind":"command","command":"grep -q hello src/hello.txt","exit_code":0}],"question":null,"blocker":null}
Loading
Loading