Standalone script to validate the "main-interp worker-thread
forkserver + subint-hosted trio" arch proposed as a workaround
to the CPython-level refusal doc'd in
`ai/conc-anal/subint_fork_blocked_by_cpython_post_fork_issue.md`.
Deliberately NOT a `tractor` test — zero `tractor` imports.
Uses `_interpreters` (private stdlib) + `os.fork()` directly so
pass/fail is a property of CPython alone, independent of our
runtime. Requires py3.14+.
Deats,
- four scenarios via `--scenario`:
- `control_subint_thread_fork` — the KNOWN-BROKEN case as a
harness sanity; if the child DOESN'T abort, our analysis
is wrong
- `main_thread_fork` — baseline sanity, must always succeed
- `worker_thread_fork` — architectural assertion: regular
`threading.Thread` attached to main interp calls
`os.fork()`; child should survive post-fork cleanup
- `full_architecture` — end-to-end: fork from a main-interp
worker thread, then in child create a subint driving a
worker thread running `trio.run()`
- exit code 0 on EXPECTED outcome (for `control_*` that means
"child aborted", not "child succeeded")
- each scenario prints a self-contained pass/fail banner; use
`os.waitpid()` of the parent + per-scenario status prints to
observe the child's fate
Also, log NLNet provenance for this session's three-sub-phase
work (py3.13 gate tightening, `pytest-timeout` + marker
refactor, `subint_fork` prototype → CPython-block finding).
Prompt-IO: ai/prompt-io/claude/20260422T200723Z_797f57c_prompt_io.md
(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code
|
||
|---|---|---|
| .. | ||
| 20260406T172848Z_02b2ef1_prompt_io.md | ||
| 20260406T193125Z_85f9c5d_prompt_io.md | ||
| 20260406T222648Z_f086222_prompt_io.md | ||
| 20260406T222648Z_f086222_prompt_io.raw.md | ||
| 20260413T192116Z_f851f28_prompt_io.md | ||
| 20260413T205048Z_269d939c_prompt_io.md | ||
| 20260413T205048Z_269d939c_prompt_io.raw.md | ||
| 20260414T163300Z_befedc49_prompt_io.md | ||
| 20260414T163300Z_befedc49_prompt_io.raw.md | ||
| 20260417T034918Z_9703210_prompt_io.md | ||
| 20260417T034918Z_9703210_prompt_io.raw.md | ||
| 20260417T035800Z_61a73ba_prompt_io.md | ||
| 20260417T035800Z_61a73ba_prompt_io.raw.md | ||
| 20260417T124437Z_5cd6df5_prompt_io.md | ||
| 20260417T124437Z_5cd6df5_prompt_io.raw.md | ||
| 20260418T042526Z_26fb820_prompt_io.md | ||
| 20260418T042526Z_26fb820_prompt_io.raw.md | ||
| 20260420T192739Z_5e8cd8b2_prompt_io.md | ||
| 20260420T192739Z_5e8cd8b2_prompt_io.raw.md | ||
| 20260422T200723Z_797f57c_prompt_io.md | ||
| 20260422T200723Z_797f57c_prompt_io.raw.md | ||
| README.md | ||
README.md
AI Prompt I/O Log — claude
This directory tracks prompt inputs and model outputs for AI-assisted development using claude (Claude Code).
Policy
Prompt logging follows the NLNet generative AI policy. All substantive AI contributions are logged with: - Model name and version - Timestamps - The prompts that produced the output - Unedited model output (.raw.md files)
Usage
Entries are created by the /prompt-io skill or automatically via /commit-msg integration.
Human contributors remain accountable for all code decisions. AI-generated content is never presented as human-authored work.