$ # Work Evidence: fictional sessions, a fixed fake AI, no account and no network $ PYTHONPATH=src python3 -m work_evidence --lang en --help | head -n 12 Work Evidence: permitted coding-agent sessions to evidence-linked candidates and grounded drafts. Manual fallback is supported; AI always needs exact preview and consent. Usage: work-evidence [--lang ko|en] COMMAND [OPTIONS] Options: --data-dir DIRECTORY; --answers FILE; --card ID; --application ID; --candidate FILE; --source claude-code|codex|omp|text; --sessions PATH [PATH ...]; --since YYYY-MM-DD; --until YYYY-MM-DD; --harvest ID; --pick 1..5; --ai-draft FILE; --full (harvest/draft-ai); --lang ko|en; --help init — Confirm permission and create a private external ledger demo — Observe fictional leak and ungrounded-number blocks capture — Record five self-written retrospective answers draft — Draft explicit achievement claims review — Inspect a redaction diff and scan a complete candidate approve — Approve selected verified claims for one exact scope facts — Record minimal confirmed facts and claim references jd — Record one permitted JD and original application context pack — Assemble a human-authored application pack $ # The whole fictional path in one command; its output goes to a log $ python3 examples/synthetic/sessions/walkthrough.py --lang en --data-dir ../demo-data > ../walk.log && tail -n 2 ../walk.log Synthetic path completed: 2 confirmed fake requests; normal export passed, secret blocked before send, ungrounded edit blocked without state changes. No real provider or network exercised. Next for real work: start a separate external ledger with fresh permission/provider answers and explicitly selected permitted transcripts. Fictional permissions do not authorise real work. See README.md, Permitted session harvest and selected AI. --source claude-code selects a reader, not a sending provider. $ # 1. The send preview you confirmed: target, size, risk flags and the exact hash $ grep -A11 '^Purpose: harvest' ../walk.log | tail -n 12 Purpose: harvest Target/model: fake-provider / fixed responses (no model) Destination: Selected synthetic fake; no network Counts: sessions 5, messages 10 UTF-8 bytes: 5662 Account/company: local / no Authentication route (identity unverified): fake-provider Authentication selector names only: (none) Blocking input risk flags: 0 Invisible or format characters (shown as \uXXXX escapes in the full view): 0 Exact prepared SHA-256: 6e206c981a1833273059bd6830f295f2f72612d98404f1ae756880569df508cb Only the selected AI receives confirmed content; provider retention/fees are outside this tool's control. $ # 2. AI candidates, each tied to quotes from your own sessions $ grep -A5 '^Unverified candidates' ../walk.log Unverified candidates: 4; inspect privately at private/harvest/sample-harvest.json. Quotes are traceability, not proof of truth. Candidate 1: I isolated shared test state and rejected hiding the flaky test behind retries. (2 private quotes) Candidate 2: I allowed bounded backoff only for safe reads and rejected automatically retrying writes. (2 private quotes) Candidate 3: I designed a migration dry-run and kept the original synthetic records unchanged until reviewing the preview. (2 private quotes) Candidate 4: I rejected the broad refactor, kept the narrow repair and wrote a runbook explaining the rollback decision. (2 private quotes) Completed: harvest · private/harvest/sample-harvest.json $ # 3. The card you approved: your role, the AI role and the team role are separate $ head -n 13 ../demo-data/cards/sample-card.md --- { "title": "Fictional CI state isolation", "period": { "start": "2026-01", "end": "2026-01" }, "work_status": "shipped", "share_scope": "limited-recruiting", "role": "developer", "human_contribution": "I isolated shared test state and rejected hiding the flaky test behind retries.", "ai_contribution": "AI suggested adding retries; I rejected that suggestion and chose isolated fixtures after inspecting the failure.", "team_contribution": "No team contribution is claimed in this fictional solo exercise.", $ grep '"review_status"' ../demo-data/cards/sample-card.md "review_status": "export-approved", $ # 4. Blocks: a secret before sending, and an invented number (30 vs approved 3) $ grep -A1 '^rule\.secret' ../walk.log rule.secret selection/session-85e1af4859f381f09d14efb5/message-1:1 — Secret or private key Harvest blocked; no new candidate file was created. Inspect the rule and location locally. $ PYTHONPATH=src python3 -m work_evidence --lang en demo rule.deny synthetic/risky.md:1 rule.ai.unsupported_span synthetic/ungrounded.md:1 Ungrounded: a number/name/tool lacks cited current approved support. Edit or drop; approval/export is blocked. Fictional proposed line rejected: Checked 30 synthetic tasks. Approved source: Checked 3 synthetic tasks. Synthetic example blocked as expected; inspect the rule and location. $ # 5. The exported application pack $ head -n 24 ../demo-data/exports/sample-application/pack.md Human-mapped requirements and reviewed AI-assisted wording; deterministic assembly, not heuristic scoring. Claim references, session quotes and send bindings remain private. ## Requirement gaps | Requirement | Match | Reason | | --- | --- | --- | | Test isolation | direct | I isolated shared test state. | | Controlled CI measurement | partial | Synthetic repeated runs only; no production reliability claim. | | Production deployment | none | No verified production deployment. | ## Resume bullets - I isolated shared test state and rejected hiding the flaky test behind retries. - I verified CI failures fell from 9 of 50 runs to 0 of 50 runs after isolating test state in the synthetic exercise. ## Five follow-up questions 1. Which failure did you reproduce? 2. Why reject automatic retries? 3. How were repeated runs controlled? 4. What limits this measured result? 5. Which change would invalidate this claim? ## Short profile $ # Recorded real Claude harvest on fictional data (not run in this demo) $ tail -n 6 docs/demo/recorded-real-claude-harvest-en.txt Unverified candidates: 4; inspect privately at private/harvest/batch-1.json. Quotes are traceability, not proof of truth. Candidate 1: Isolated flaky CI test state in fictional rehearsal (3 private quotes) Candidate 2: Restricted retry logic to safe reads in fictional client rehearsal (3 private quotes) Candidate 3: Added dry-run preview to fictional data migration (3 private quotes) Candidate 4: Rejected broad refactor and wrote rollback runbook in fictional rehearsal (3 private quotes) Completed: harvest · private/harvest/batch-1.json