Civilization Bootstrap Pilot 01 — Protocol & Private Workspace Boundary¶
Status: PR10.0 baseline + first boundary hardening
Protocol ref:
Capability / frame:
Outcome¶
PR10.0 introduces the first versioned protocol and private local capture workspace for a real one-subject Civilization Bootstrap pilot.
It does not evaluate the participant, derive capability state, create achievements, or produce a Player Window. Its job is narrower: preserve exactly declared participant-provided responses/artifacts under a deterministic protocol so a later reviewed step can decide what, if anything, becomes governed PR2 evidence.
REAL PARTICIPANT WORK
↓
PilotCaptureRecord
X
NO AUTOMATIC EvidenceRecord / Claim / Evaluation / State
Core boundary:
PILOT CAPTURE != EVIDENCE
PILOT RESPONSE != CLAIM
PILOT ARTIFACT != EVALUATION
RUNNER != EVALUATOR
CAPTURE COMPLETENESS != CAPABILITY
CAPTURE INCOMPLETENESS != COMMAND FAILURE
MISSING OPTIONAL EXECUTION != FAILURE
Why capture is separate from evidence¶
A raw response or artifact may later support one or more bounded EvidenceRecord values, or may turn out not to be useful evidence at all. PR10.0 therefore does not let filesystem ingestion silently gain epistemic authority.
The later materialization boundary must remain explicit and reviewable:
PilotCaptureRecord
↓ explicit reviewed materialization (future)
EvidenceRecord
↓
Claim / Evaluation / State
PR10.0 deliberately does not implement the arrow above.
Participant-facing protocol¶
The frozen protocol contains four probes:
conceptual_explanation— required text response;calculation_work— required text response;diagnosis_reasoning— required text response;execution_artifact— optional text and/or file artifact.
The participant-facing protocol contains prompts and boundaries, but no answer key, scoring threshold, mastery criterion, dimension binding, evaluation policy, or recommendation.
The optional execution probe may be skipped. Its absence means the pilot did not observe execution in that session; it is not a failed attempt and does not imply low capability.
Frozen protocol revision¶
The canonical serialized bytes of protocol revision @1 are regression-frozen by tests. Changing prompts, boundaries, probe requirements, capability/frame refs, or other serialized protocol semantics requires review and normally a new revision rather than silent mutation under the same exact ref.
The regression fingerprint is only a software-change detector:
PROTOCOL SHA-256 != AUTHENTICITY
PROTOCOL SHA-256 != ISSUER IDENTITY
PROTOCOL SHA-256 != HISTORICAL ARCHIVE PROOF
Physical boundary¶
Pilot 01 is intentionally bounded to ordinary low-voltage DC contexts appropriate to the participant's existing equipment and experience.
The protocol explicitly excludes:
- mains wiring;
- high-voltage systems;
- opened power supplies;
- unknown energized systems.
The protocol is not a safety certification, license, or permission to perform electrical work.
Private workspace boundary¶
Repository-local pilot data belongs under .local/, which is gitignored by PR10.0.
If the runner detects that a requested workspace is inside a git repository, it rejects any location that is not below:
A workspace outside the repository is also allowed.
VERSIONED PROTOCOL != PRIVATE PARTICIPANT DATA
LOCAL != PUBLIC
NO NETWORK != SAFE TO SHARE
WORKSPACE COPY == DATA EXPORT
Workspace path components must not resolve through symlinks. The workspace root, metadata files, captures/, artifacts/, per-capture artifact directories, and captured artifact files must all satisfy their expected regular-file/real-directory roles.
Closed-world workspace integrity¶
PR10.0 does not treat a directory as valid merely because some expected files can be parsed.
VALID WORKSPACE != DIRECTORY WITH SOME VALID FILES
VALID WORKSPACE =
EXACT TOP-LEVEL LAYOUT
+ EXACT CANONICAL METADATA
+ EXACT CANONICAL CAPTURE FILE SET
+ EXACT CAPTURE↔ARTIFACT CLOSURE
The top level must contain exactly:
Unexpected adjacent files such as synthetic.json, evidence.json, or hidden alternative inputs invalidate the workspace.
captures/ may contain only regular, non-symlink canonical JSON capture files whose filename matches capture_id exactly.
For a file artifact capture, the only valid linkage is:
The per-capture artifact directory must contain exactly that one file. Orphan artifact directories, missing artifact directories, extra adjacent artifact files, path substitution between captures, symlinked paths, and digest/size mismatches invalidate the workspace.
Workspace layout¶
After initialization:
.local/pilots/cb01/
├── workspace.json
├── protocol.json
├── PRIVATE_WORKSPACE.txt
├── captures/
└── artifacts/
Initialization creates no sample answers, demo captures, synthetic evidence, evaluations, or Player Window data.
Each capture is one immutable JSON file:
capture_id uses a deliberately narrower cross-platform file-key grammar than general Capability Lab opaque IDs because it is used as a Windows-compatible filename. Windows reserved device stems are rejected.
Artifact filenames are also constrained to simple cross-platform-safe filenames before they are copied into the workspace.
Artifact captures record:
- canonical workspace-relative artifact path;
- original filename;
- byte size;
- SHA-256 digest.
The digest is an integrity/linkage check only:
Exact capture schema¶
A PilotCaptureRecord preserves:
capture_id
protocol_ref
session_id
subject_ref
probe_id
capture_kind
origin_kind
captured_at
declared_tools
participant_note
text_content | artifact
Capture kinds:
Pilot 01 origin kind:
That value is a declaration represented by the capture format. A manually constructed structurally valid capture can carry the same declaration.
DECLARED HUMAN ORIGIN != AUTHENTICATED HUMAN ORIGIN
STRUCTURALLY VALID CAPTURE != PROOF OF HUMAN AUTHORSHIP
The runner has no generate, demo, sample, grade, or evaluate command. It can ingest data the caller supplies, but it cannot prove how those bytes were authored before ingestion.
Session and timestamp semantics¶
The workspace manifest and every selected capture must agree on protocol_ref, session_id, and subject_ref. A capture timestamp must be timezone-aware and must not precede the workspace created_at value.
These are consistency constraints, not external authentication:
WORKSPACE CONSISTENCY != SESSION AUTHENTICITY
SUBJECT_REF CONSISTENCY != SUBJECT AUTHENTICATION
CAPTURED_AT != AUTHENTICATED EVENT TIME
CREATED_AT != AUTHENTICATED SESSION-START TIME
A coordinated rewrite of otherwise valid local metadata is outside PR10.0's authenticity guarantees. PR10.0 intentionally does not add signatures, remote attestations, biometric proof, or a trusted timestamp service.
Strict serialization¶
Protocol, workspace manifest, and capture JSON use strict deterministic serialization:
- exact fields;
- duplicate JSON keys rejected;
- unknown or missing fields rejected;
schema_versionis exact integer1(trueis rejected);- timestamps must be timezone-aware;
- enums are exact;
- canonical JSON output is sorted and newline-terminated.
Workspace validation additionally requires stored metadata and capture files to equal their canonical deterministic serialization exactly.
Runner¶
Show the frozen public protocol:
Initialize a private session from the repository root:
python -m capability_lab.pilots.civilization_bootstrap_01.run init `
--workspace .local/pilots/cb01 `
--session-id cb01_session `
--subject-ref local_subject
For reproducible serialized metadata, an explicit timezone-aware --created-at may be supplied. It remains a declared timestamp, not authenticated session-start time.
Record a text response already written by the participant:
python -m capability_lab.pilots.civilization_bootstrap_01.run record-text `
--workspace .local/pilots/cb01 `
--capture-id conceptual_01 `
--probe conceptual_explanation `
--input .local/input/conceptual.md `
--tool "plain text editor"
Record an optional local artifact:
python -m capability_lab.pilots.civilization_bootstrap_01.run record-artifact `
--workspace .local/pilots/cb01 `
--capture-id execution_photo_01 `
--probe execution_artifact `
--input C:\path\to\subject_photo.jpg
Validate structural integrity and see missing required probes:
python -m capability_lab.pilots.civilization_bootstrap_01.run validate `
--workspace .local/pilots/cb01
A structurally valid but incomplete workspace returns success and reports, for example:
There is intentionally no --require-complete failure mode in PR10.0.
No-synthetic-data boundary¶
PR10.0 freezes:
RUNNER GENERATED ANSWER -> FORBIDDEN SURFACE
RUNNER GENERATED EVIDENCE -> FORBIDDEN SURFACE
MODEL EVALUATION -> NOT IMPLEMENTED
AUTO CLAIM MATERIALIZATION -> NOT IMPLEMENTED
AUTO STATE DERIVATION -> NOT IMPLEMENTED
The Pilot 01 implementation also has an import-boundary regression preventing hidden coupling to PR4 derivation, PR7 history, PR8 progression, PR9 Player Window, or proposal authority layers. From PR2 epistemics it imports only the subject reference needed to scope private captures.
The versioned test suite may use synthetic records to test software invariants. Those test fixtures are not Pilot 01 participant data and are never emitted by the real runner.
Non-goals¶
PR10.0 does not add:
- Capture -> EvidenceRecord materialization;
- evaluation rubric or answer key;
- LLM/model evaluator;
- PR4 state selection;
- PR7 achievement/milestone creation;
- PR8 frontier derivation;
- PR9 Player Window generation from real pilot data;
- participant scoring, XP, rank, level, mastery, or Human Level;
- authorship authentication;
- trusted timestamping or session attestation;
- publication/sharing workflow;
- cloud storage or telemetry;
- electrical safety certification.
Next controlled step¶
After PR10.0 passes its exact-head gate, the intended next action is not another generic architecture layer. It is to initialize one real private Pilot 01 workspace and collect the three required participant responses.
Only after inspecting those real captures should Capability Lab design the reviewed PilotCaptureRecord -> EvidenceRecord materialization boundary.