You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+6-12Lines changed: 6 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,9 +27,9 @@ Use this file to keep AI-assisted changes small, scoped, and consistent with the
27
27
28
28
## Project Status & Roadmap
29
29
30
-
### Current Focus: JES Operator Interface — Post-Unification Stabilization and Pi Zero 2 W Validation Planning
30
+
### Current Focus: Unified JES Operator Surface Hardening and Documentation Consistency
31
31
32
-
The JES Operator Interface unification work is now merged into **`main`**. The current focus is stabilizing the unified operator experience, preserving WebUI/TUI terminology parity, continuing follow-on work without reintroducing branch-specific assumptions, and preparing the Raspberry Pi Zero 2 W target-hardware validation track. Design concept: *政府機関・軍 × DEFCONハッカー* — institutional structure with terminal-hacker aesthetic.
32
+
The JES Operator Interface unification work is merged into **`main`** and the Raspberry Pi Zero 2 W validation issue track (`#89` through `#94`) is completed. The current focus is stability maintenance of the unified operator experience, preserving WebUI/TUI terminology parity, and keeping implementation and documentation synchronized without reintroducing branch-specific assumptions. Design concept: *政府機関・軍 × DEFCONハッカー* — institutional structure with terminal-hacker aesthetic.
33
33
34
34
### Active Branch
35
35
@@ -39,18 +39,12 @@ The JES Operator Interface unification work is now merged into **`main`**. The c
39
39
40
40
Target: maintain and harden the unified JES operator surface on `main`.
41
41
42
-
### Other Open Priority Issues
42
+
### Priority Tracking Status
43
43
44
-
-`#89`: Tracking issue for the Raspberry Pi Zero 2 W remote field-test harness and validation workflow.
-`#94`: Phase 5 — structured result artifacts and operator documentation.
44
+
- Pi Zero 2 W remote field-test harness and validation workflow issues (`#89` through `#94`) are completed and retained as traceability references.
45
+
- New implementation priorities should be tracked as separate issues and reflected here only while actively in progress.
50
46
51
-
These issues define the current target-hardware validation implementation track. They do not mean Raspberry Pi Zero 2 W validation has already been completed.
52
-
53
-
Historical roadmap detail, completed milestone history, and the WebUI redesign sequence are maintained in `docs/ROADMAP_HISTORY.md`. Keep this file focused on active context, not long-form project history.
47
+
Historical roadmap detail, completed milestone history, and the WebUI redesign sequence are maintained in `docs/ROADMAP_HISTORY.md`. Keep this file focused on active context and operating constraints, not long-form project history.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,18 @@ and this project follows SemVer-style release intent for documented interfaces.
9
9
10
10
No unreleased entries.
11
11
12
+
## [0.1.4] - 2026-05-10
13
+
14
+
### Changed
15
+
16
+
- Project guidance documents synchronized after issue-track completion, including AGENTS status updates and readiness-plan consistency fixes.
17
+
- Repository-wide Python formatting refactor applied across `src/`, `tests/`, and `scripts/` using Ruff formatter.
18
+
- README and Pi Zero 2 W workflow documentation cleaned up for duplicate or stale status wording.
19
+
20
+
### Security
21
+
22
+
- Existing local-only boundary, restricted-action constraints, and neutral capture-visible language policies were preserved during refactor and documentation consolidation.
Copy file name to clipboardExpand all lines: README.md
+59-31Lines changed: 59 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,12 +2,55 @@
2
2
3
3

4
4
5
-
Phasmid is a field-evaluation prototype for local-only coercion-aware storage.
6
-
7
-
It is the reference implementation of the Janus Eidolon System, a two-slot local storage architecture designed to separate visible disclosure from protected local state under practical risks such as device seizure, compelled access, and over-disclosure.
Phasmid is a field-evaluation prototype for local-only coercion-aware storage. It is the reference implementation of the Janus Eidolon System, a two-slot local storage architecture designed to separate visible disclosure from protected local state under practical risks such as device seizure, compelled access, and over-disclosure.
8
17
9
18
Phasmid is research software. It is not a replacement for full-disk encryption, hardware-backed key storage, an audited classified-data handling system, or a complete solution to compelled disclosure.
10
19
20
+
**Who this is for:** security researchers, field-risk evaluators, and operators running local controlled-disclosure experiments. It is not a general-purpose file encryption tool.
On first run, `./phasmid` sets up the virtual environment automatically. You should see the TUI Operator Console (the ASCII panel shown in the TUI section below). From there, press `c` to create a Vessel and `g` for a guided walkthrough.
38
+
39
+
If the TUI does not open, run `phasmid doctor` to diagnose environment issues.
40
+
41
+
## Requirements
42
+
43
+
| Requirement | Detail |
44
+
|---|---|
45
+
| Python | 3.10 or later |
46
+
| OS | Linux, macOS (development); Raspberry Pi OS Bookworm/Bullseye (deployment) |
47
+
| Hardware | x86-64 laptop/desktop for development; Raspberry Pi Zero 2 W for field deployment |
48
+
| Camera (optional) | Picamera2 / libcamera — required only for object-cue matching on Pi |
49
+
| WebUI (optional) | Any modern browser; intended for localhost or USB gadget Ethernet access only |
50
+
| LUKS (optional) | Linux kernel with dm-crypt — required for the optional LUKS2 storage layer |
51
+
52
+
For Raspberry Pi deployment, `python3-picamera2` and `python3-libcamera` must be installed via apt before running the bootstrap script.
53
+
11
54
## What It Does
12
55
13
56
- Creates an encrypted `vault.bin` container.
@@ -83,8 +126,6 @@ The path from field-evaluation prototype to operational solution is:
83
126
6. record validation results for each release;
84
127
7. publish only claims that are covered by tests or documented limits.
85
128
86
-
Run the WebUI in Field Mode by setting `PHASMID_FIELD_MODE=1`. Field Mode reduces normal exposure in capture-visible workflows, but Field Mode is not a security boundary.
87
-
88
129
Until those validation gates are completed on target hardware, Phasmid should be described as a field-evaluation prototype. After those gates are completed and recorded, it can be described as a local coercion-aware storage appliance for the validated deployment conditions.
89
130
90
131
The Raspberry Pi Zero 2 W remote SSH field-test harness implementation is tracked in GitHub issues `#89` through `#94`, and runnable scripts are available under `scripts/pi_zero2w/`. Harness availability alone is not evidence of validation; validation status is established by recorded results in `docs/REVIEW_VALIDATION_RECORD.md`.
@@ -173,7 +214,7 @@ Threat model and security review documents:
-[`docs/COERCION_SAFE_DELAYING.md`](docs/COERCION_SAFE_DELAYING.md) — coercion-safe delaying architecture (standby and disclosure-support workflow)
176
-
-`docs/THREAT_ANALYSIS_STRIDE.md` — full STRIDE analysis cross-referencing the threat model
217
+
-[`docs/THREAT_ANALYSIS_STRIDE.md`](docs/THREAT_ANALYSIS_STRIDE.md) — full STRIDE analysis cross-referencing the threat model
177
218
-[`docs/CLAIMS.md`](docs/CLAIMS.md) — inventory of project claims with verification status
178
219
-[`docs/NON_CLAIMS.md`](docs/NON_CLAIMS.md) — explicit non-claims and rationale
179
220
-[`docs/KEY_LIFECYCLE.md`](docs/KEY_LIFECYCLE.md) — key-material lifecycle audit summary and persistence boundaries
@@ -188,18 +229,16 @@ Threat model and security review documents:
188
229
189
230
Operational review and deployment guidance can be found in:
190
231
191
-
-`docs/SOURCE_SAFE_WORKFLOW.md`
192
-
-`docs/SEIZURE_REVIEW_CHECKLIST.md`
193
-
-`docs/FIELD_TEST_PROCEDURE.md`
194
-
-`docs/REVIEW_VALIDATION_RECORD.md`
195
-
-`docs/SOLUTION_READINESS_PLAN.md`
196
-
-`docs/JANUS_EIDOLON_SYSTEM.md`
197
-
-`docs/PHASMID_ARCHITECTURE.md`
198
-
-`docs/OPERATIONS.md`
199
-
-`docs/RESTRICTED_ACTIONS.md`
200
-
-`docs/STATE_RECOVERY.md`
201
-
202
-
Target-hardware validation workflow implementation for Raspberry Pi Zero 2 W is tracked in GitHub issues `#89` through `#94`. Recorded validation results for the documented Pi Zero 2 W deployment conditions are available in `docs/REVIEW_VALIDATION_RECORD.md`.
This README is part of the authoritative appliance deployment guide and review workflow. Release Review Artifacts are generated by the CI pipeline to support review. This is not a validated cryptographic-module certification.
When using USB gadget Ethernet, open `http://<pi-usb-ip>:8000/` from the laptop.
475
510
511
+
Run the WebUI in Field Mode by setting `PHASMID_FIELD_MODE=1` to reduce exposure in capture-visible workflows. Field Mode is not a security boundary.
512
+
476
513
WebUI v2 uses neutral entry-based terminology. Normal screens do not show internal storage labels, retrieval order, or restricted local-state behavior.
477
514
478
515
Common WebUI/API wording is centralized where practical so terminology checks can audit capture-visible messages consistently.
@@ -481,8 +518,6 @@ Common WebUI/API wording is centralized where practical so terminology checks ca
Copy file name to clipboardExpand all lines: docs/PI_ZERO2W_REMOTE_FIELD_TEST_ISSUE_DRAFT.md
+7-11Lines changed: 7 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,8 @@ Add Raspberry Pi Zero 2 W Remote Field Test Harness
4
4
5
5
> **Tracking**: This issue is the parent specification for the implementation track
6
6
> documented in `AGENTS.md` as issues #89–#94. The phased implementation issues
7
-
> (`#90` through `#94`) each correspond to one Phase defined in this document.
7
+
> (`#90` through `#94`) correspond to the five implementation phases defined in
8
+
> this document.
8
9
9
10
## Background
10
11
@@ -171,7 +172,7 @@ The harness must:
171
172
- document that this variable must remain unset during field test runs unless the operator has provisioned the tmpfs mount;
172
173
- include a pre-flight check that warns if `PHASMID_TMPFS_STATE` is set and the path does not exist on the Pi before any test starts.
173
174
174
-
### Blocker 4: `phasmid doctor` behavior in non-interactive SSH sessions
175
+
### Blocker 6: `phasmid doctor` behavior in non-interactive SSH sessions
175
176
176
177
The `doctor` command routes to non-TUI mode automatically when `sys.stdout.isatty()` returns `False`. This is correct behavior in SSH contexts and means `phasmid doctor` should print to stdout without a TUI when called non-interactively. However, to guarantee non-TUI output regardless of how the session is set up, use the explicit flag:
177
178
@@ -250,9 +251,11 @@ Required outcomes:
250
251
- WebUI startup and shutdown are probed locally on the Pi;
251
252
- TUI viability is checked conservatively without requiring full automation.
252
253
253
-
### Phase 5: Field Workflow Smoke Tests, Observable Surface Review, and Monitoring
254
+
### Phase 5: Field Workflow Smoke Tests, Observable Surface Review, Monitoring, and Reporting
254
255
255
-
Deliver bounded workflow testing, observable information surface checks, and thermal/resource capture around major phases.
256
+
Deliver bounded workflow testing, observable information surface checks,
257
+
thermal/resource capture around major phases, and final structured reporting
258
+
outputs.
256
259
257
260
Required outcomes:
258
261
@@ -261,13 +264,6 @@ Required outcomes:
261
264
- temperature, memory, disk, and load measurements are captured before and after major phases;
262
265
- orphan process detection is included for WebUI-related phases;
263
266
- swap and storage configuration state is recorded.
264
-
265
-
### Phase 6: Reports, Documentation, and Reviewability
266
-
267
-
Deliver final structured artifacts and operator documentation.
268
-
269
-
Required outcomes:
270
-
271
267
-`perf-results.json` is written with complete schema coverage where possible;
272
268
-`perf-report.md` summarizes viability, bottlenecks, warnings, and next actions;
273
269
- timing-delta acceptance gate outcome is prominently reported;
0 commit comments