Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
467 commits
Select commit Hold shift + click to select a range
7543eec
release: commit independently reproduced V14 bundle identities before…
Laymer Oct 20, 2026
a84be16
release: bind V14 content receipts to reviewed prepared identities
Laymer Oct 20, 2026
97a81de
docs: record V14 independent signed closure and pending hosted gates
Laymer Oct 20, 2026
0e77fa1
docs: claim native watchdog regression startup diagnosis
Laymer Oct 20, 2026
1ad4871
docs: claim V14 helper-test failure evidence preservation
Laymer Oct 20, 2026
3314be6
docs: preserve V14 signed identities and actual early helper failure
Laymer Oct 20, 2026
21eebc3
test: allow bounded child startup before verifying watchdog checkpoints
Laymer Oct 20, 2026
6aaa463
docs: retain native watchdog startup controls and actual environment …
Laymer Oct 20, 2026
e32a31b
docs: claim V15 watchdog candidate coordination
Laymer Oct 20, 2026
7667e18
Merge pull request #264 from Laymer/fix/stable-watchdog-startup
Laymer Oct 20, 2026
cef1729
Merge remote-tracking branch 'origin/release/stable-1.0.0-version' in…
Laymer Oct 20, 2026
e5d8066
release: renew source metadata after reviewed watchdog test repair
Laymer Oct 20, 2026
f3fe58d
docs: record V14 cancelled checks and intermediate run handling
Laymer Oct 20, 2026
473f7b1
docs: retain exact V14 CI source and Pages results
Laymer Oct 20, 2026
3b172b6
Merge commit 'f3fe58d1' into docs/stable-public-review-v15
Laymer Oct 20, 2026
da290c2
docs: distinguish explicitly cancelled stale intermediate runs
Laymer Oct 20, 2026
54bd4dc
docs: retain partial V14 coverage and failed aggregate prerequisite
Laymer Oct 20, 2026
b54fdc7
docs: distinguish inferred V14 supersession and failed aggregate
Laymer Oct 20, 2026
93c52fa
docs: bind independent V15 review to exact watchdog candidate
Laymer Oct 20, 2026
3b3f223
docs: distinguish cancelled workflow from failed coverage aggregate
Laymer Oct 20, 2026
aaa0086
docs: record pre-issuance V15 coverage attribution correction
Laymer Oct 20, 2026
bb93884
release: commit independently reproduced V15 identities before signing
Laymer Oct 20, 2026
71cdb5a
release: bind V15 receipts to corrected independent review and prepar…
Laymer Oct 20, 2026
2466b74
docs: record V15 independent signed closure and pending final gates
Laymer Oct 20, 2026
3e919d3
docs: claim preservation of V15 recovery timeout evidence
Laymer Oct 21, 2026
3065706
docs: retain V15 signatures and actual recovery watchdog evidence
Laymer Oct 21, 2026
9e93146
docs: preserve successful V15 coverage with failed installer scope di…
Laymer Oct 21, 2026
681b20c
docs: claim immutable content inspection metadata optimization
Laymer Oct 21, 2026
bc62c69
docs: claim stored catalog validation repair
Laymer Oct 21, 2026
bb977b8
docs: record located V15 recovery timeout and scoped repair owners
Laymer Oct 21, 2026
06cb15c
docs: update V15 failure status and require measured repair benefit
Laymer Oct 21, 2026
6472057
docs: preserve actual V15 recorder overlay without promoting canonica…
Laymer Oct 21, 2026
fa74e68
docs: archive V15 successful CI and exact source parity logs
Laymer Oct 21, 2026
fd72292
fix(storage): validate strictly decoded catalog graphs once
Laymer Oct 21, 2026
73d2dfd
docs: claim SQL-validated duplicate catalog cache repair
Laymer Oct 21, 2026
0a843c6
docs: record measured content inspection investigation
Laymer Oct 21, 2026
1a31fd5
Merge commit '0a843c650a88e3eb54911562f2208053e37420fb' into release/…
Laymer Oct 21, 2026
a9ce8e4
perf(storage): retain validated duplicate catalogs across startup
Laymer Oct 21, 2026
3367456
perf(storage): stream canonical content bytes into SHA256
Laymer Oct 21, 2026
f30a5c0
docs: record validated duplicate cache checks and limits
Laymer Oct 21, 2026
c83f3b8
docs: record independent strict-load and duplicate-cache repair reviews
Laymer Oct 21, 2026
efa3940
merge: combine reviewed storage validation and duplicate cache repairs
Laymer Oct 21, 2026
419fcae
docs: retain duplicate cache review handoff
Laymer Oct 21, 2026
5d8898b
docs: preserve measured inspection investigation and scope
Laymer Oct 21, 2026
9aaf831
docs: preserve prior functional proof before storage repair integration
Laymer Oct 21, 2026
ce00892
docs: record combined repair coverage and preexecution verification
Laymer Oct 21, 2026
163a519
docs: retain strict storage recovery checks and measured union
Laymer Oct 21, 2026
ac45a4f
Merge reviewed storage recovery performance repair
Laymer Oct 21, 2026
854b1df
docs: bind fresh functional proof to reviewed storage runtime
Laymer Oct 21, 2026
9518f6b
docs: bind independent V16 review to measured storage runtime
Laymer Oct 21, 2026
eb55316
Merge independent V16 content review
Laymer Oct 21, 2026
32e382c
release: commit independently reproduced V16 bundle identities before…
Laymer Oct 21, 2026
1a43bf1
release: bind V16 signed content receipt to independently reviewed id…
Laymer Oct 21, 2026
764fcac
docs: record independently verified V16 signed candidate closure
Laymer Oct 21, 2026
e22f66c
docs: claim hosted offline adapter repair
Laymer Oct 21, 2026
8db7e6c
docs: claim V16 failure evidence and offline repair coordination
Laymer Oct 21, 2026
de9fa56
docs: preserve exact V16 results and signed identity before offline r…
Laymer Oct 21, 2026
05fa398
docs: retain ignored raw V16 workflow logs referenced by archives
Laymer Oct 21, 2026
33eb1b6
docs: claim isolated hosted offline adapter probe
Laymer Oct 21, 2026
c8149c2
docs: record actual V16 offline failure and preserved recovery pass
Laymer Oct 21, 2026
f03f20b
fix(release): preserve offline adapter identity and failure causes
Laymer Oct 21, 2026
e986f95
test(windows): add isolated opt-in hosted offline adapter probe
Laymer Oct 21, 2026
4d9a000
fix(release): bound escaped offline failure diagnostics
Laymer Oct 21, 2026
dd7efd4
docs: record offline control repair and actual mock validation
Laymer Oct 21, 2026
567beb3
docs: retain independent native shell offline repair checks
Laymer Oct 21, 2026
bde9c15
docs: claim reviewed hosted offline probe integration
Laymer Oct 21, 2026
ca4b3a4
Merge reviewed offline adapter identity repair for hosted probe
Laymer Oct 21, 2026
5d22c5a
docs: record isolated offline probe checks and trigger limits
Laymer Oct 21, 2026
7ac0b1a
Merge reviewed opt-in hosted offline adapter probe
Laymer Oct 21, 2026
4cb261d
docs: retain actual hosted adapter probe and native mock evidence
Laymer Oct 21, 2026
4ec08dd
docs: bind V17 preparation to reviewed hosted offline repair source
Laymer Oct 21, 2026
e117f49
docs: bind independent V17 review to exact offline repair source
Laymer Oct 21, 2026
85f4c90
Merge independent V17 public content and offline repair review
Laymer Oct 21, 2026
2ff1d86
build: commit independently reproduced V17 unsigned bundle identities
Laymer Oct 21, 2026
315cd94
build: bind V17 signed content receipts to reviewed source and manifest
Laymer Oct 21, 2026
8b12aec
docs: record independently verified V17 signed candidate closure
Laymer Oct 21, 2026
9065461
fix(release): wait for the uninstall registry entry before reinstalling
Laymer Oct 21, 2026
0554e79
docs: archive actual V17 results and the RC1 upgrade failure
Laymer Oct 21, 2026
d7b7474
fix(release): keep the case failure when acceptance cleanup also fails
Laymer Oct 21, 2026
2692631
Merge reviewed PR #268 uninstall completion before RC1 baseline install
Laymer Oct 21, 2026
854da8b
docs: bind V18 preparation to the reviewed uninstall-completion source
Laymer Oct 21, 2026
38941b6
docs: independent public content review V18
Laymer Oct 21, 2026
5d62bfe
build: commit unsigned V18 bundle identities before key use
Laymer Oct 21, 2026
619e498
fix(release): rotate the bundled-content signer identities
Laymer Oct 21, 2026
d965856
Merge PR #269 rotate bundled-content signer identities
Laymer Oct 21, 2026
56f5fa5
docs: bind V19 preparation to the rotated signer source
Laymer Oct 21, 2026
058f80c
docs: independent public content review V19
Laymer Oct 21, 2026
1537359
build: commit unsigned V19 bundle identities before key use
Laymer Oct 21, 2026
6cb726d
build: bind V19 signed content receipt to reviewed source and manifest
Laymer Oct 21, 2026
9cc774e
docs: record independently verified V19 signed candidate closure
Laymer Oct 21, 2026
b2df7f9
docs: claim recovery guard transition and bounded diagnostics
Laymer Oct 23, 2026
71d4843
docs: claim schema5 downloaded draft acceptance contract
Laymer Oct 23, 2026
42052d0
docs: claim automated downloaded-draft Windows acceptance
Laymer Oct 23, 2026
68df92c
docs: claim automated draft acceptance policy and backlog
Laymer Oct 23, 2026
b0b8c32
docs: adopt automated exact-draft release acceptance
Laymer Oct 23, 2026
969d5fc
docs: record automated draft acceptance scope and verification
Laymer Oct 23, 2026
cceeac9
docs: preserve separate V19 failures and signed identities before rep…
Laymer Oct 23, 2026
b4fe329
docs: claim exact draft native UI smoke driver
Laymer Oct 23, 2026
e01843f
docs: correct V19 diagnosis and record approved schema5 continuation
Laymer Oct 23, 2026
fa11d5c
fix(release): retain bounded workload timing and database state diagn…
Laymer Oct 23, 2026
cbf2b70
feat(release): add schema5 reviewed automated draft acceptance
Laymer Oct 23, 2026
8a11f88
Merge reviewed ADR 0009 and acknowledged build-watch backlog (PR 271)
Laymer Oct 23, 2026
8bf6317
fix(release): bind unique draft assets and executed native step
Laymer Oct 23, 2026
4095611
fix(release): bind downloaded receipt to exact workflow attempt
Laymer Oct 23, 2026
63190bd
test(release): exercise draft identity checks with typed mutations
Laymer Oct 23, 2026
eee8344
feat(release): verify downloaded stable draft through bounded native …
Laymer Oct 23, 2026
a1a33fc
docs: record schema5 contract validation and release boundaries
Laymer Oct 23, 2026
b46a70e
docs: record actual downloaded draft harness checks and limits
Laymer Oct 23, 2026
2659d8c
perf(storage): validate each historical catalog once in a consistent …
Laymer Oct 23, 2026
3003c65
fix(release): retain and pin nested native UI screenshots
Laymer Oct 23, 2026
4ce4cce
Merge independently reviewed schema 5 release contract (PR 272)
Laymer Oct 23, 2026
c4c4284
docs(ci): name shared stable acceptance steps for schemas 4 and 5
Laymer Oct 23, 2026
d699bcd
Merge independently reviewed downloaded draft Windows gate (PR 273)
Laymer Oct 23, 2026
bdf97ce
docs: claim schema5 inventory generator followup
Laymer Oct 23, 2026
86667b0
test(windows): exercise exact installed draft through real UI controls
Laymer Oct 23, 2026
c9585ca
fix(release): generate schema5 pristine draft acceptance inventory
Laymer Oct 23, 2026
1b6e764
docs: record schema5 generator reproducibility followup
Laymer Oct 23, 2026
a9a9319
docs: record exact draft UI smoke scope and mock evidence
Laymer Oct 23, 2026
bfbf1df
Merge reviewed stable workflow display labels (PR 273 followup)
Laymer Oct 23, 2026
41ee7c3
Merge reviewed schema 5 inventory generator followup (PR 272)
Laymer Oct 23, 2026
360d234
docs: claim executable release schema coverage closure
Laymer Oct 23, 2026
d55286a
fix(coverage): execute release schema exporter branches and refusals
Laymer Oct 23, 2026
d1990d9
test: disclose manual same-node draft planning scope
Laymer Oct 23, 2026
8f990e3
Merge independently reviewed exact draft native UI driver (PR 274)
Laymer Oct 23, 2026
9d30d71
docs(release): apply ADR 0009 to current stable publication instructions
Laymer Oct 23, 2026
d95e3c2
docs: claim supplemental Windows11 upgrade preparation
Laymer Oct 23, 2026
873d1fc
docs: close schema exporter executable coverage evidence
Laymer Oct 23, 2026
e877d17
docs: record schema 5 integration reviews and remaining release gates
Laymer Oct 23, 2026
f589d19
Merge independently reviewed executable schema coverage closure (PR 272)
Laymer Oct 23, 2026
ea8d6c6
tools: prepare opt-in private Windows11 upgrade backup launcher
Laymer Oct 23, 2026
749977a
docs: retain recovery validation review and measured same-fixture res…
Laymer Oct 23, 2026
b601bb8
Merge independently reviewed single-pass recovery validation (PR 275)
Laymer Oct 23, 2026
c29725c
fix: preserve current-user upgrade and verify private copy integrity
Laymer Oct 23, 2026
bde347d
docs: preserve exact V19 canonical schema 4 and functional evidence b…
Laymer Oct 23, 2026
3f935a2
Merge reviewed supplemental current-user backup and upgrade launcher …
Laymer Oct 23, 2026
9150750
docs: claim bounded hosted recovery engineering probe
Laymer Oct 23, 2026
ca94ec5
test(windows): exercise supplemental backup helpers in both PowerShel…
Laymer Oct 23, 2026
3cc63df
test(recovery): add opt-in bounded Windows full-pack engineering probe
Laymer Oct 23, 2026
af6e235
docs: claim independent V20 public review
Laymer Oct 23, 2026
5b3d157
docs(release): retain exact ca94 functional evidence and regenerate p…
Laymer Oct 23, 2026
4900876
docs(release): retain both referenced bounded functional execution logs
Laymer Oct 23, 2026
c58e241
docs: claim public reviewed-evidence transport
Laymer Oct 23, 2026
90086c2
fix(recovery-probe): own fixture cleanup and complete process-tree de…
Laymer Oct 23, 2026
f7f5917
fix: transport reviewed draft evidence for public verification
Laymer Oct 23, 2026
58a14b6
docs: record public evidence transport checks and limits
Laymer Oct 23, 2026
0e18158
Merge commit '90086c215484a17c47fdf36d25ea99bc61380fe7' into fix/publ…
Laymer Oct 23, 2026
a2ebc8b
fix: own Git descendants and refuse reparse evidence output
Laymer Oct 23, 2026
257bf7e
docs: record owned-tree and native junction transport checks
Laymer Oct 23, 2026
a7cbb08
docs: record reviewed Windows recovery probe and native inert verific…
Laymer Oct 23, 2026
80e3dfd
docs: clarify probe retains no private app-data directories
Laymer Oct 23, 2026
a1ca248
Merge independently reviewed bounded Windows recovery probe (PR 278)
Laymer Oct 23, 2026
d8d6ece
test: create case-colliding evidence paths directly in Git
Laymer Oct 23, 2026
41b5db9
Merge reviewed immutable public acceptance-evidence transport (PR 277)
Laymer Oct 23, 2026
6e3c4c5
docs: claim integrated Windows Git and recovery probe verification
Laymer Oct 23, 2026
de2fd3e
test(windows): verify reviewed evidence transport before recovery probe
Laymer Oct 23, 2026
3de0a77
Merge commit 'de2fd3e69bcce8db55c73d98fed492e2ee485261' into docs/pub…
Laymer Oct 23, 2026
c3e7670
docs(release): bind final de2 functional proof and verified unsigned …
Laymer Oct 23, 2026
1dd3d6a
docs: distinguish running probe step from unverified workload start
Laymer Oct 23, 2026
f1cc17e
Merge commit '1dd3d6a8' into docs/public-content-review-v20
Laymer Oct 23, 2026
dee9998
docs(release): retain exact prebundle evidence before signed closure …
Laymer Oct 23, 2026
41b608a
Merge commit 'dee9998a' into docs/public-content-review-v20
Laymer Oct 23, 2026
4772ddb
docs: claim absent uninstall registry root repair
Laymer Oct 23, 2026
e9baa34
fix(windows): distinguish absent uninstall root from registry failures
Laymer Oct 23, 2026
37560d9
docs: claim completed de2 recovery probe evidence archive
Laymer Oct 23, 2026
dd72d4f
docs: record absent registry root repair and inert checks
Laymer Oct 23, 2026
a07cd90
docs: archive failed de2 hosted recovery probe original evidence
Laymer Oct 23, 2026
7aba0c9
Preserve exact failed de2 hosted recovery probe and original raw evid…
Laymer Oct 23, 2026
c39f71d
docs: record actual pre-install probe failure and pending reviewed re…
Laymer Oct 23, 2026
5f6b3b2
docs: clarify native registry test execution policy scope
Laymer Oct 23, 2026
b7fbd97
docs: claim early registry preflight regression wiring
Laymer Oct 23, 2026
80dcb06
docs: claim de2 pre-registry evidence archive
Laymer Oct 23, 2026
31697bc
Merge reviewed PR 279 fresh-account uninstall registry handling
Laymer Oct 23, 2026
41b52c8
test(windows): check absent registry behavior before recovery probe b…
Laymer Oct 23, 2026
9a0ed0b
docs: preserve exact de2 functional and prebundle evidence
Laymer Oct 23, 2026
d3d0440
docs: retain exact ignored de2 preparation logs
Laymer Oct 23, 2026
6773085
Preserve exact de2 functional and material evidence before renewed so…
Laymer Oct 23, 2026
902e53a
release: renew functional and material evidence for reviewed registry…
Laymer Oct 23, 2026
ddb607e
Merge commit '902e53ac' into docs/public-content-review-v20
Laymer Oct 23, 2026
77de350
docs: track reviewed registry repair and source-bound preparation
Laymer Oct 23, 2026
a39d46d
Merge commit '77de3506' into docs/public-content-review-v20
Laymer Oct 23, 2026
135382e
docs: claim exact 41b52 engineering probe evidence archive
Laymer Oct 23, 2026
9aa3cf7
docs: claim current release contract README repair
Laymer Oct 23, 2026
87925b9
docs: claim41b preparation archive before README renewal
Laymer Oct 23, 2026
6608167
docs: preserve exact41b preparation before README identity renewal
Laymer Oct 23, 2026
f5efa33
docs: align release overview with unsigned schema5 stable contract
Laymer Oct 23, 2026
785e01c
Preserve exact 41b preparation evidence before release instruction co…
Laymer Oct 23, 2026
104e5e7
docs: record current release overview correction scope
Laymer Oct 23, 2026
cc7ff90
docs: remove residual launch and elevation claims
Laymer Oct 23, 2026
23c8047
Merge independently reviewed current release and installation contrac…
Laymer Oct 23, 2026
13b3f45
docs: preserve exact failed 41b52 build-watchdog probe evidence
Laymer Oct 23, 2026
94d756d
Preserve exact completed Cargo process-tree watchdog failure evidence
Laymer Oct 23, 2026
07a1aeb
docs: claim Cargo build completion boundary repair
Laymer Oct 23, 2026
405e69d
docs: retain actual README-source functional run before compiler harn…
Laymer Oct 23, 2026
762f1c3
docs: record compiler watchdog failure and pending isolated repair
Laymer Oct 23, 2026
fad39f6
docs: record bounded Cargo stdout retention scope
Laymer Oct 23, 2026
38ca7bb
fix(probe): complete Cargo build after bounded owned descendant cleanup
Laymer Oct 23, 2026
6c610da
docs: retain compiler completion checks and known scope
Laymer Oct 23, 2026
0d43e91
docs(release): clarify shared defaults and packaged evidence timing
Laymer Oct 23, 2026
b040778
Merge reviewed Cargo-only owned-process completion and strict build p…
Laymer Oct 23, 2026
81e4941
Merge commit 'b040778acfdf8ba621df193dc5f914ee8b9b6bda' into docs/pub…
Laymer Oct 23, 2026
b74179e
docs: claim exact b040 recovery probe evidence archive
Laymer Oct 23, 2026
4c09388
release: bind verified functional and material preparation to Cargo c…
Laymer Oct 23, 2026
830858e
Merge commit '4c09388d' into docs/public-content-review-v20
Laymer Oct 23, 2026
a02544c
docs: track reviewed Cargo completion probe and final source preparation
Laymer Oct 23, 2026
3dca24e
docs: retain successful b040 hosted recovery engineering evidence
Laymer Oct 23, 2026
076a799
Preserve independently reviewed passing bounded Windows recovery engi…
Laymer Oct 23, 2026
d165684
Merge branch 'release/stable-1.0.0-version' into docs/public-content-…
Laymer Oct 23, 2026
a49d88d
docs: record independent V20 content and engineering review
Laymer Oct 23, 2026
912760b
docs: bind V20 review to immutable evidence baseline
Laymer Oct 23, 2026
5d6d265
Merge independently audited V20 content review and exact engineering …
Laymer Oct 23, 2026
b25064b
build: commit reviewed unsigned V20 bundle identities before key use
Laymer Oct 23, 2026
49ce3e4
build: bind signed V20 content receipt to independently prepared pins
Laymer Oct 23, 2026
079aebf
docs: record verified V20 closure and durable release continuation
Laymer Oct 23, 2026
2c6fe76
docs: clarify restored reward reference count and game input boundary
Laymer Oct 23, 2026
674e1bd
V20.1: isolate hosted offline acceptance by firewall, keeping the run…
Laymer Oct 23, 2026
19f9ca2
V20.1: keep the probe's hold timer apart from its HoldSeconds parameter
Laymer Oct 23, 2026
da6a48f
docs: ADR 0010 hosted offline firewall isolation and probe results
Laymer Oct 23, 2026
a4f93b6
V20.1: address independent review of firewall isolation
Laymer Oct 23, 2026
c0c2f6c
V20.1: fail closed when the effective allow-rule inventory is unavail…
Laymer Oct 23, 2026
835d1ae
V20.1: keep hosted VM infrastructure agents connected during isolation
Laymer Oct 23, 2026
a949862
V20.1: record hosted infrastructure agent paths before isolation in t…
Laymer Oct 23, 2026
38ae6f2
V20.1: probe which agent paths the firewall accepts as program filters
Laymer Oct 23, 2026
c9d0d41
V20.1: expand agent paths to long form before creating firewall rules
Laymer Oct 23, 2026
b1e8162
V20.1: name the isolation for both allowed agent kinds; record probe …
Laymer Oct 23, 2026
0e3ccb8
V20.1: address final review nits on host agent isolation
Laymer Oct 23, 2026
1f97214
Merge reviewed hosted offline firewall isolation (PR #285, ADR 0010)
Laymer Oct 23, 2026
d0e168f
docs: claim continuation; archive cancelled V20 package attempts and …
Laymer Oct 23, 2026
adb52c5
release: bind V21 functional proof and evidence to the firewall isola…
Laymer Oct 23, 2026
7dc7514
release: record V21 functional and unsigned material preparation checks
Laymer Oct 23, 2026
29814d3
release: commit the ignored logs that V21 ledgers reference
Laymer Oct 23, 2026
196fc5a
docs: independent public content review V21
Laymer Oct 23, 2026
142dc21
Merge independent public content review V21
Laymer Oct 23, 2026
9e5e447
build: commit reviewed unsigned V21 bundle identities before key use
Laymer Oct 23, 2026
772608f
build: bind signed V21 content receipt to independently prepared pins
Laymer Oct 23, 2026
b81e55c
docs: record V21 signed closure, independent checks and next gates
Laymer Oct 23, 2026
2c44358
V21.1: isolate stable acceptance application data at the known folder
Laymer Oct 24, 2026
3c5c235
docs: claim Codex V22 stable release continuation
Laymer Oct 24, 2026
67358d7
docs: independently review V21.1 appdata isolation
Laymer Oct 24, 2026
2d33c2f
V22: integrate reviewed stable acceptance appdata isolation
Laymer Oct 24, 2026
3647efd
docs: preserve exact V21 signed inputs and both failed attempts
Laymer Oct 24, 2026
c6cd674
V22: bind actual functional proof and unsigned content preparation
Laymer Oct 24, 2026
f5c20fb
docs: record V22 preparation and independent review checkpoint
Laymer Oct 24, 2026
4dfe71c
docs: clarify completed V22 preview and remaining review gate
Laymer Oct 24, 2026
3609c2b
docs: record authorized read-only V22 reviewer
Laymer Oct 24, 2026
f422b73
V22: correct functional binding with fixed-HEAD execution and indepen…
Laymer Oct 24, 2026
546a54b
V22: freeze independent content and source-binding review
Laymer Oct 24, 2026
1622693
V22: commit reviewed unsigned bundle identities before key use
Laymer Oct 24, 2026
8289ae2
V22: record independent pre-sign bundle reproduction
Laymer Oct 24, 2026
c5586b6
V22: bind signed content receipt to reviewed prepared identities
Laymer Oct 24, 2026
9be789e
V22: record independent signed closure and candidate gate checkpoint
Laymer Oct 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -162,3 +162,10 @@ content/source-materials/objects/ef5518c5a3aaa7458e074a7e41e87837f8a1c74da009382

# Exact stable shipped catalogs; small manifests/notices remain ordinary blobs.
content/release-packs/**/catalog.json filter=lfs diff=lfs merge=lfs -text

# Exact public review shipped in the signed stable bundle.
docs/releases/1.0.0-independent-public-review.json text eol=lf
docs/releases/1.0.0-independent-public-review-v2.json text eol=lf

# Authored evidence/procedures are exact signed bundle resources.
content/release-packs/authored-v2/**/*.md text eol=lf
2 changes: 2 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ jobs:
- run: rustup component add llvm-tools-preview
- name: Install pinned native coverage collector
run: cargo install cargo-llvm-cov --version 0.9.1 --locked
- name: Owned profile output and clean-source regressions
run: node --test scripts/coverage/profile-output.test.mjs scripts/coverage/clean-source.test.mjs scripts/coverage/native-bundle.test.mjs scripts/coverage/bundle-instrumentation.test.mjs
- name: Native tests, build scripts, examples and bounded Windows app smoke
run: node scripts/coverage/collect-rust.mjs "${{ runner.temp }}/coverage-rust"
- name: Retain native raw profiles, reports and exact source receipts
Expand Down
33 changes: 28 additions & 5 deletions .github/workflows/package-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
name: Windows installer and addon package
runs-on: windows-2025
# A release-signing request waits for a manual SignPath approval.
timeout-minutes: ${{ github.ref_type == 'tag' && 170 || 110 }}
timeout-minutes: 170
permissions:
contents: read
actions: read # the SignPath connector reads this job and downloads the unsigned artifact
Expand Down Expand Up @@ -84,12 +84,32 @@ jobs:
- name: Stable preparation and hosted evidence tests (Windows PowerShell 5.1)
shell: powershell
run: ./scripts/windows/Test-StablePreparation.ps1
- name: Hosted timestamp parsing tests (Windows PowerShell 5.1)
shell: powershell
run: |
./scripts/windows/Test-HostedTimestampParsing.ps1
./scripts/windows/Test-HostedRecorderBoundary.ps1
- name: Hosted timestamp parsing tests (PowerShell 7)
shell: pwsh
run: |
./scripts/windows/Test-HostedTimestampParsing.ps1
./scripts/windows/Test-HostedRecorderBoundary.ps1
- name: Hosted producer helper tests (Windows PowerShell 5.1 mocks)
shell: powershell
run: ./scripts/windows/Test-StableAcceptanceHelpers.ps1
- name: Hosted producer helper tests (PowerShell 7 mocks)
shell: pwsh
run: ./scripts/windows/Test-StableAcceptanceHelpers.ps1
- name: Downloaded draft producer tests (Windows PowerShell 5.1 mocks)
shell: powershell
run: |
./scripts/windows/Test-DraftInstallerSmoke.ps1
./scripts/windows/Test-SupplementalUpgrade.ps1
- name: Downloaded draft producer tests (PowerShell 7 mocks)
shell: pwsh
run: |
./scripts/windows/Test-DraftInstallerSmoke.ps1
./scripts/windows/Test-SupplementalUpgrade.ps1
- name: Stable preparation and hosted evidence tests (PowerShell 7)
shell: pwsh
run: ./scripts/windows/Test-StablePreparation.ps1
Expand Down Expand Up @@ -462,7 +482,7 @@ jobs:
echo "smoke=${{ steps.native_smoke.outcome }} upgrade=${{ steps.native_upgrade.outcome }}"
[ "${{ steps.native_smoke.outcome }}" != failure ] && [ "${{ steps.native_upgrade.outcome }}" != failure ]

- name: Actual schema4 hosted Windows acceptance over the signed full bundle
- name: Actual stable hosted Windows acceptance over the signed full bundle
id: stable_acceptance
if: steps.build_windows.outputs.stable == 'true'
continue-on-error: true
Expand Down Expand Up @@ -490,14 +510,17 @@ jobs:
$setup = Get-NativeSmokeSetup dist/windows
$hash = (Get-FileHash $setup.FullName -Algorithm SHA256).Hash.ToLowerInvariant()
$baselineSetup = Get-NativeSmokeSetup $baseline
# Uninstall keeps user data: drop the native smoke database so the cases start fresh.
$data = Join-Path ([Environment]::GetFolderPath('ApplicationData')) 'io.github.laymer.azeroth-navigator'
if (Test-Path -LiteralPath $data) { Remove-Item -LiteralPath $data -Recurse -Force }
./scripts/windows/Stable-Acceptance.ps1 -Root . -Directory dist/windows -InstallerSha256 $hash -BaselineInstaller $baselineSetup.FullName -BaselineSha256 $pin[0].sha256 -BuildIdentity release/v1/bundled-content-build-identity.json -OutputDirectory (Join-Path $env:RUNNER_TEMP 'native-smoke/stable-cases')
- name: Record schema4 hosted observations without inventing missing cases
- name: Record stable hosted observations without inventing missing cases
id: hosted_evidence
if: always() && steps.build_windows.outputs.stable == 'true' && steps.stable_acceptance.outcome != 'skipped'
shell: pwsh
run: |
./scripts/windows/Write-HostedAcceptanceEvidence.ps1 -Root . -Version '1.0.0' -InstallerDirectory dist/windows -ResultsDirectory (Join-Path $env:RUNNER_TEMP 'native-smoke/stable-cases') -OutputDirectory dist/acceptance-evidence
- name: Retain schema4 acceptance evidence separately from release assets
- name: Retain stable acceptance evidence separately from release assets
if: always() && steps.build_windows.outputs.stable == 'true'
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
Expand Down Expand Up @@ -544,7 +567,7 @@ jobs:
with:
name: azeroth-navigator-windows-${{ github.sha }}
path: dist/release-artifacts
- name: Download schema4 hosted evidence
- name: Download stable hosted evidence
if: github.ref_name == 'v1.0.0'
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
with:
Expand Down
14 changes: 8 additions & 6 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ name: Pages
on:
pull_request:
branches: [main]
paths: ['site/**', 'scripts/site/**', '.github/workflows/pages.yml', 'pnpm-lock.yaml']
paths: ['docs/site/**', 'scripts/site/**', '.github/workflows/pages.yml', 'pnpm-lock.yaml']
push:
branches: [main]
paths:
- "site/**"
- "docs/site/**"
- ".github/workflows/pages.yml"
- "scripts/site/**"
- "pnpm-lock.yaml"
workflow_dispatch:
inputs:
capture_release:
description: Capture the verified public RC in a disposable Windows runner (no deployment)
description: Capture the historical verified public RC in a disposable Windows runner (no deployment)
type: boolean
default: false
permissions:
Expand Down Expand Up @@ -42,6 +42,8 @@ jobs:
echo "$RUNNER_TEMP/corepack/node_modules/.bin" >> "$GITHUB_PATH"
"$RUNNER_TEMP/corepack/node_modules/.bin/corepack" pnpm install --frozen-lockfile
"$RUNNER_TEMP/corepack/node_modules/.bin/corepack" pnpm --dir apps/desktop exec playwright install --with-deps chromium
- name: Check supported publication metadata contracts
run: node --test scripts/site/release-metadata.test.mjs
- name: Check links, project paths, release identity and browser accessibility
run: node scripts/site/validate.mjs
build:
Expand All @@ -57,7 +59,7 @@ jobs:
- uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
- uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
with:
path: site
path: docs/site
deploy:
name: Deploy site
needs: build
Expand Down Expand Up @@ -87,7 +89,7 @@ jobs:
id: release
shell: pwsh
run: |
$release = Get-Content -Raw site/release.json | ConvertFrom-Json
$release = Get-Content -Raw docs/site/capture-release.json | ConvertFrom-Json
if ($release.tag -cne 'v1.0.0-rc.1' -or -not $release.public_verified -or $release.source_commit -cnotmatch '^[a-f0-9]{40}$') { throw 'Expected verified public RC metadata' }
"commit=$($release.source_commit)" >> $env:GITHUB_OUTPUT
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
Expand All @@ -113,7 +115,7 @@ jobs:
GH_TOKEN: ${{ github.token }}
run: |
$ErrorActionPreference = 'Stop'
$release = Get-Content -Raw site/release.json | ConvertFrom-Json
$release = Get-Content -Raw docs/site/capture-release.json | ConvertFrom-Json
$metadataJson = gh release view $release.tag --repo $env:GITHUB_REPOSITORY --json isDraft,isPrerelease,tagName
if ($LASTEXITCODE -ne 0) { throw 'Cannot read public release' }
$metadata = $metadataJson | ConvertFrom-Json
Expand Down
47 changes: 44 additions & 3 deletions .github/workflows/verify-release-downloads.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ on:
type: string
default: ''
required: false
reviewed_evidence_commit:
description: Public stable only, independently reviewed inert evidence commit (excludes evidence_run_id)
type: string
default: ''
required: false
phase:
description: Release state to verify
type: choice
Expand All @@ -37,7 +42,9 @@ jobs:
contents: write
actions: read
runs-on: windows-2025
timeout-minutes: 30
# Includes dependency/source checks and the new bounded native UI suite.
# Each workload remains capped at 20 minutes; the UI suite at 60 minutes.
timeout-minutes: 90
steps:
- shell: bash
run: git config --global core.autocrlf false
Expand All @@ -56,6 +63,22 @@ jobs:
npm install --prefix "$RUNNER_TEMP/corepack" --no-package-lock --no-audit --no-fund corepack@0.36.0
"$RUNNER_TEMP/corepack/node_modules/.bin/corepack" pnpm install --frozen-lockfile
cargo fetch --locked
- name: Test inert reviewed evidence transport
shell: pwsh
run: |
python -m unittest discover -s scripts/windows -p test_import_reviewed_evidence.py
if ($LASTEXITCODE -ne 0) { throw 'Reviewed evidence transport regression failed' }
- name: Import explicitly reviewed public evidence data
shell: pwsh
env:
REVIEWED_EVIDENCE_COMMIT: ${{ inputs.reviewed_evidence_commit }}
EVIDENCE_RUN_ID: ${{ inputs.evidence_run_id }}
EXPECTED_SOURCE: ${{ inputs.source_commit }}
RELEASE_VERSION: ${{ inputs.version }}
RELEASE_PHASE: ${{ inputs.phase }}
run: |
python scripts/windows/import-reviewed-evidence.py --commit "$env:REVIEWED_EVIDENCE_COMMIT" --expected-source "$env:EXPECTED_SOURCE" --repository "$env:GITHUB_REPOSITORY" --version "$env:RELEASE_VERSION" --phase "$env:RELEASE_PHASE" --evidence-run "$env:EVIDENCE_RUN_ID"
if ($LASTEXITCODE -ne 0) { throw 'Reviewed evidence data transport refused' }
- name: Download separately reviewed acceptance evidence
if: inputs.evidence_run_id != ''
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
Expand All @@ -75,6 +98,7 @@ jobs:
run: |
$ErrorActionPreference = 'Stop'
if ($env:EXPECTED_COMMIT -cnotmatch '^[a-f0-9]{40}$') { throw 'Expected a full source commit' }
if ($env:GITHUB_SHA -cne $env:EXPECTED_COMMIT) { throw 'Dispatch this workflow on the exact release tag' }
. ./scripts/windows/Release-Policy.ps1
$version = $env:RELEASE_VERSION
$policy = Get-UnsignedReleasePolicy $PWD $version
Expand All @@ -90,16 +114,33 @@ jobs:
New-Item -ItemType Directory -Path $downloads | Out-Null
gh release download $tag --repo $env:GITHUB_REPOSITORY --dir $downloads
if ($LASTEXITCODE -ne 0) { throw 'Release download failed' }
$receiptDir = Join-Path $env:RUNNER_TEMP 'download-receipt'
$receiptPath = if ($env:RELEASE_PHASE -ceq 'public') { 'dist/public-download-evidence' } else { 'dist/draft-evidence' }
$receiptDir = Join-Path $PWD $receiptPath
New-Item -ItemType Directory -Path $receiptDir | Out-Null
$json | Set-Content -LiteralPath (Join-Path $receiptDir 'github-release.json') -Encoding utf8
$options = @{}
if (Test-Path -LiteralPath 'dist/acceptance-evidence/acceptance-evidence.json') { $options['Evidence'] = 'dist/acceptance-evidence/acceptance-evidence.json' }
./scripts/windows/Verify-DownloadedRelease.ps1 -Directory $downloads -Version $version -InstallerSha256 $env:EXPECTED_INSTALLER -Receipt (Join-Path $receiptDir 'verification.json') -Phase $env:RELEASE_PHASE @options
if ($LASTEXITCODE -ne 0) { throw 'Downloaded release verification failed' }
$contract=Read-BoundedReleaseContractText (Join-Path $PWD 'release/v1/acceptance-evidence.json') | ConvertFrom-Json
if ($env:RELEASE_PHASE -ceq 'draft' -and $contract.schema_version -eq 5) {
. ./scripts/windows/Draft-Installer-Smoke.ps1
$releaseJson=gh api "repos/$env:GITHUB_REPOSITORY/releases/tags/$tag"
if ($LASTEXITCODE -ne 0) { throw 'Cannot obtain draft release API identity' }
$releaseApi=$releaseJson | ConvertFrom-Json
$jobsJson=gh api "repos/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID/attempts/$env:GITHUB_RUN_ATTEMPT/jobs?per_page=100"
if ($LASTEXITCODE -ne 0) { throw 'Cannot obtain current workflow job identity' }
$jobs=$jobsJson | ConvertFrom-Json
if ($jobs.total_count -gt 100) { throw 'Workflow job list exceeds the bounded query' }
$current=@($jobs.jobs | Where-Object { $_.name -ceq 'Verify downloaded unsigned release' })
if ($current.Count -ne 1) { throw 'Current verifier job is absent or ambiguous' }
$raw=New-DraftDownloadResult -Root $PWD -ReceiptDirectory $receiptDir -Release $releaseApi -Job $current[0] -SourceCommit $env:EXPECTED_COMMIT -InstallerSha256 $env:EXPECTED_INSTALLER -RunId ([long]$env:GITHUB_RUN_ID) -RunAttempt ([long]$env:GITHUB_RUN_ATTEMPT)
[IO.File]::WriteAllText((Join-Path $receiptDir 'raw-result.json'),(($raw | ConvertTo-Json -Depth 16)+"`n"),(New-Object Text.UTF8Encoding($false)))
}
[ordered]@{ schema_version = 2; version = $version; signature = $policy.signature; prerelease = $policy.prerelease; phase = $env:RELEASE_PHASE; tag = $tag; commit = $env:EXPECTED_COMMIT; run_id = $env:GITHUB_RUN_ID; repository = $env:GITHUB_REPOSITORY } | ConvertTo-Json | Set-Content -LiteralPath (Join-Path $receiptDir 'identity.json') -Encoding utf8
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
if: always()
with:
name: release-download-receipt-${{ inputs.phase }}-${{ github.run_id }}
path: ${{ runner.temp }}/download-receipt
path: ${{ inputs.phase == 'public' && 'dist/public-download-evidence' || 'dist/draft-evidence' }}
if-no-files-found: error
35 changes: 35 additions & 0 deletions .github/workflows/windows-offline-adapter-probe.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Hosted Windows offline adapter engineering probe
# Opt-in diagnostic only. No protected gate, product build or acceptance result.
on:
push:
branches: ['verify/offline-adapters-*']
workflow_dispatch:
permissions:
contents: read
concurrency:
group: offline-adapter-probe-${{ github.ref }}
cancel-in-progress: false
jobs:
offline-adapter-engineering-probe:
name: Offline adapter engineering probe (not acceptance)
runs-on: windows-latest
timeout-minutes: 10
steps:
- name: Preserve exact source line endings
shell: pwsh
run: git config --global core.autocrlf false
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
lfs: false
persist-credentials: false
- name: Probe real adapter disablement and exact restoration
shell: pwsh
run: ./scripts/windows/Probe-HostedOfflineAdapters.ps1 -OutputDirectory "$env:RUNNER_TEMP/offline-adapter-probe"
- name: Retain bounded engineering diagnostics after restoration
if: always()
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: offline-adapter-engineering-probe-${{ github.sha }}
path: ${{ runner.temp }}/offline-adapter-probe/
if-no-files-found: warn
retention-days: 7
35 changes: 35 additions & 0 deletions .github/workflows/windows-offline-firewall-probe.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Hosted Windows offline firewall engineering probe
# Opt-in diagnostic only. No protected gate, product build or acceptance result.
on:
push:
branches: ['verify/offline-firewall-*']
workflow_dispatch:
permissions:
contents: read
concurrency:
group: offline-firewall-probe-${{ github.ref }}
cancel-in-progress: false
jobs:
offline-firewall-engineering-probe:
name: Offline firewall engineering probe (not acceptance)
runs-on: windows-2025
timeout-minutes: 40
steps:
- name: Preserve exact source line endings
shell: pwsh
run: git config --global core.autocrlf false
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
lfs: false
persist-credentials: false
- name: Hold firewall isolation past the 1200 s workload bound and restore exactly
shell: pwsh
run: ./scripts/windows/Probe-HostedOfflineFirewall.ps1 -OutputDirectory "$env:RUNNER_TEMP/offline-firewall-probe" -HoldSeconds 1260
- name: Retain bounded engineering diagnostics after restoration
if: always()
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: offline-firewall-engineering-probe-${{ github.sha }}
path: ${{ runner.temp }}/offline-firewall-probe/
if-no-files-found: warn
retention-days: 7
Loading