Skip to content

Commit 2baddc3

Browse files
committed
release: prepare v0.1.5 with coverage and docs updates
1 parent 63374d1 commit 2baddc3

7 files changed

Lines changed: 63 additions & 15 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ jobs:
4747

4848
- name: Run unit tests with coverage and enforce threshold
4949
run: |
50+
python -m coverage erase
5051
python -m coverage run --source=src -m unittest discover -s tests
52+
python -m coverage run --append --source=src -m unittest discover -s tests_optional
5153
python -m coverage report -m
5254
python -m coverage report --fail-under=70
5355

CHANGELOG.md

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,55 @@ and this project follows SemVer-style release intent for documented interfaces.
99

1010
No unreleased entries.
1111

12+
## [0.1.5] - 2026-05-11
13+
14+
### Added
15+
16+
- Architecture figure embedded at the top of `docs/PHASMID_ARCHITECTURE.md` using `images/architecture_v1.png` to improve onboarding and design readability.
17+
- Release-log updates in `docs/REVIEW_VALIDATION_RECORD.md` for profile-based test execution and combined coverage recording.
18+
19+
### Changed
20+
21+
- CI coverage gate logic updated to aggregate `tests` + `tests_optional` coverage before enforcing `--fail-under=70`.
22+
- `CONTRIBUTING.md` validation guidance updated to document default/optional/archive-review test profiles.
23+
- `tests/TEST_RETENTION_MATRIX.md` updated from candidate planning to current consolidation status.
24+
- `0.1.4` changelog entry expanded to reflect the full scope of completed documentation and test-suite restructuring work.
25+
26+
### Security
27+
28+
- Coverage gating remains at 70% without threshold reduction by combining default and optional profiles, preserving verification discipline for active security boundaries.
29+
1230
## [0.1.4] - 2026-05-10
1331

32+
### Added
33+
34+
- `docs/README_INDEX.md` as a long-form documentation entrypoint and navigation index.
35+
- `docs/archive/` policy and archived historical analysis/evaluation documents for traceable but non-active references.
36+
- TUI operator screenshots (`images/TUI_HOME.png`, `images/TUI_AUDIT.png`, `images/TUI_DOCTOR.png`, `images/TUI_INSPECT.png`, `images/TUI_FACE.png`).
37+
- Test profile documentation and retention matrix (`tests/README.md`, `tests/TEST_RETENTION_MATRIX.md`).
38+
- Split test profiles for lifecycle management:
39+
- `tests_optional/` for dependency-heavy or extended tests
40+
- `tests_archive_review/` for historical/evaluation review tests
41+
1442
### Changed
1543

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.
44+
- `AGENTS.md` compressed and de-duplicated while preserving boundary/security invariants and authority order.
45+
- README restructured into a two-layer entry model:
46+
- quick-start-first structure with requirements before install details
47+
- shortened overview with deep links moved to docs index
48+
- TUI banner/title updated to the new PHASMID ASCII identity and synchronized with operator docs.
49+
- `docs/TUI_OPERATOR_CONSOLE.md` updated with screenshot-based presentation and current banner representation.
50+
- Test suite reorganized and consolidated:
51+
- merged overlapping observability/context-profile/dual-approval/coercion-safe scenario tests
52+
- moved optional and archive-review tests to dedicated profiles
53+
- CI expanded to include default, optional, reproducible-build, and manual archive-review job paths
54+
- `tests/test_docs_and_templates.py` and `tests/test_terminology.py` aligned with README/docs archive restructuring.
55+
- Historical roadmap links updated to archived document paths.
1956

2057
### Security
2158

22-
- Existing local-only boundary, restricted-action constraints, and neutral capture-visible language policies were preserved during refactor and documentation consolidation.
59+
- Existing local-only boundary, restricted-action constraints, and neutral capture-visible language policies were preserved during documentation and test-suite restructuring.
60+
- Capture-visible vocabulary controls and restricted-route semantics remained enforced by updated terminology and scenario tests.
2361

2462
## [0.1.3] - 2026-05-10
2563

README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,15 @@ If the TUI does not open, run `phasmid doctor`.
5656

5757
## Architecture Overview
5858

59-
![Phasmid Architecture Overview](images/architecture_v1.png)
60-
61-
Quick legend:
62-
63-
- **Vessel**: local container that carries multiple Disclosure Faces
64-
- **Disclosure Face**: operator-selected visible retrieval path
65-
- **Local key material**: local recovery input mixed with passphrase-derived key path
66-
- **Object cue**: operational access cue, not cryptographic key material
59+
![Phasmid Architecture Overview](images/architecture_overview.png)
60+
61+
> Quick legend:
62+
> - **Vessel**: local container carrying multiple Disclosure Faces
63+
> - **Object cue**: operational access gate, not cryptographic key material
64+
> - **Restricted slot**: triggers irreversible local-state destruction on access
65+
>
66+
> Full cryptographic parameters and storage layout:
67+
> [docs/PHASMID_ARCHITECTURE.md](docs/PHASMID_ARCHITECTURE.md)
6768
6869
Access flow, two-slot storage, coercion defense, and local-only boundary are documented in [`docs/PHASMID_ARCHITECTURE.md`](docs/PHASMID_ARCHITECTURE.md).
6970

docs/PHASMID_ARCHITECTURE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
Phasmid is a field-evaluation prototype for local-only coercion-aware storage and the reference implementation of the Janus Eidolon System.
44

5+
![Phasmid architecture overview](../images/architecture_v1.png)
6+
7+
Two-slot architecture overview: vessel structure, disclosure faces, local key material, and object-cue operating boundary.
8+
59
## Architectural Layers
610

711
Phasmid is organized into a few narrow local layers:

docs/REVIEW_VALIDATION_RECORD.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,28 @@ Command:
1919

2020
```bash
2121
python3 -m unittest discover -s tests
22+
python3 -m unittest discover -s tests_optional
2223
```
2324

2425
Result:
2526

2627
```text
27-
2026-05-02, macOS Darwin arm64, python3 -m unittest discover -s tests, 151 tests passed.
28+
2026-05-11, macOS Darwin arm64, python3 -m unittest discover -s tests, 449 tests passed (5 skipped).
29+
2026-05-11, macOS Darwin arm64, python3 -m unittest discover -s tests_optional, 124 tests passed.
2830
```
2931

3032
Coverage baseline:
3133

3234
```bash
3335
python3 -m coverage run --source=src -m unittest discover -s tests
36+
python3 -m coverage run --append --source=src -m unittest discover -s tests_optional
3437
python3 -m coverage report -m
3538
```
3639

3740
Result:
3841

3942
```text
40-
coverage: 71% overall
43+
coverage: 71% overall (tests + tests_optional combined)
4144
```
4245

4346
The coverage baseline records a minimum acceptable regression gate (70%) for future changes.

images/architecture_overview.png

1.46 MB
Loading

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "phasmid"
3-
version = "0.1.4"
3+
version = "0.1.5"
44
description = "Phasmid local-only coercion-aware storage prototype"
55
requires-python = ">=3.10"
66
dependencies = [

0 commit comments

Comments
 (0)