From 9098dadaa942334c04dde07c077256adb40515ae Mon Sep 17 00:00:00 2001 From: David Refoua Date: Thu, 29 Oct 2026 04:39:15 +0330 Subject: [PATCH 1/2] Preserve donor audit records during targeted cold-cache refresh --- docs/FILE-COMPARISON.md | 6 ++-- docs/GITHUB-COORDINATION.md | 6 ++++ docs/file-comparison-evidence.json | 8 ++--- docs/file-comparison.csv | 2 +- docs/github-conversation-inventory.json | 44 +++++++++++++++++++++--- tests/github_conversation_audit_test.mjs | 12 +++++-- tools/audit-github-conversations.mjs | 22 ++++++++++-- 7 files changed, 82 insertions(+), 18 deletions(-) diff --git a/docs/FILE-COMPARISON.md b/docs/FILE-COMPARISON.md index cf9869b3..2c14c2e4 100644 --- a/docs/FILE-COMPARISON.md +++ b/docs/FILE-COMPARISON.md @@ -3137,12 +3137,12 @@ Verdict: **equivalent-behavior**. Revision: `5a6961ce6a477a4726b7baf8a84d12fde1c Verdict: **parity-gap**. Revision: `5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad`. Original-byte SHA-256: `7a91d9fa8778383ee37e33d861ceebc5ab210e46bedab6af8be82d56c27523cc`. -- Target: `tools/audit-github-conversations.mjs:59 [UTF8-LF sha256=d2b9dff0e72c8fa58a5982cde925e550bd159c22d207ac267f5991c68d57656a; anchor=export function collect]`. -- Target: `docs/GITHUB-COORDINATION.md:1 [UTF8-LF sha256=bfe6cae355c53bccbd128f6afb3235b8ed132d5b6791897ffd15c504a79ecf47; anchor=# Conversation-aware integration]`. +- Target: `tools/audit-github-conversations.mjs:59 [UTF8-LF sha256=0bd597414af4e28668d2da96e250a27a99550fff9b86e5d58136b7de583a1dcf; anchor=export function collect]`. +- Target: `docs/GITHUB-COORDINATION.md:1 [UTF8-LF sha256=64a078407d296db907e8645e07dc25a6392168cb1cb2e39cc8bb18a9bce01f0d; anchor=# Conversation-aware integration]`. - Retained: Actual exhaustive review-thread/review-summary/standalone-comment audit procedure adapted into read-only paginated GitHub collection, hash-bound manual scope decisions, unresolved/outdated preservation and quota-versus-completed-review distinction. Used on every state of Pakar, Pealayer and PCController. - Omitted/replaced code: `Historical media thumbnails, MPV surface and DLL basename, timeline/cue migration, audio delay and media picking fixes`. Disposition: **not-applicable**. Reason: Pakar is an mpv-free controller and does not own donor playback/media/timeline models. Generic staging safety, keyboard ownership, error correlation, authentication and service-worker origin lessons remain applicable and tracked independently. - Omitted/replaced code: `Complete semantic disposition of every historical issue/review and full DNS-rebinding, actuator/persistence, UI/PWA/physical acceptance`. Disposition: **pending**. Reason: All pages are collected but fetching does not mean reading or implementing them. Only explicitly hash-bound reviewed scopes are marked; every unread record and source-file import remains pending. -- Test-code evidence: `tests/github_conversation_audit_test.mjs:22 [UTF8-LF sha256=d71ee1e531770b756ab7f5269f9b6cb6d1bf75f7d17cd6c5e71e1529712ae7bd; anchor=Paginated GitHub audit]`. +- Test-code evidence: `tests/github_conversation_audit_test.mjs:30 [UTF8-LF sha256=dc841c32e7f17b65ae9f16222dde27d0aa7d7d96565654e383978d4919499486; anchor=Paginated GitHub audit]`. - Remaining: Read and reconcile pending records in the refreshed 794-record conversation corpus; seventeen full-record and two comment scopes now have explicit semantic decisions. Continue applicable source imports and exact source/test mapping. Verify RayanLamp repository when supplied; do not invent one or mutate donor comments from Pakar. ### Pealayer: `docs/superpowers/plans/2026-09-28-windows-taskbar-and-tray-suite.md` diff --git a/docs/GITHUB-COORDINATION.md b/docs/GITHUB-COORDINATION.md index 8b7944c1..f87db066 100644 --- a/docs/GITHUB-COORDINATION.md +++ b/docs/GITHUB-COORDINATION.md @@ -1,5 +1,11 @@ # Conversation-aware integration +Targeted audits retain the committed inventory for repositories absent from the +local raw cache. This matters in fresh worktrees: querying one repository must +not delete the other donors' records or their hash-bound review evidence. +Refreshed records replace matching repository/number entries; unrefreshed records +remain historical evidence, without being promoted to freshly reviewed status. + ## Final handoff (2026-10-29) PRs #27, #34, #35 and #36 are normally merged. Main code checkpoint b752b4c has diff --git a/docs/file-comparison-evidence.json b/docs/file-comparison-evidence.json index 61c76c58..a3c6dabc 100644 --- a/docs/file-comparison-evidence.json +++ b/docs/file-comparison-evidence.json @@ -16675,24 +16675,24 @@ "source_read": "complete", "verdict": "parity-gap", "preserved": [ - "Actual exhaustive review-thread/review-summary/standalone-comment audit procedure adapted into read-only paginated GitHub collection, hash-bound manual scope decisions, unresolved/outdated preservation and quota-versus-completed-review distinction. Used on every state of Pakar, Pealayer and PCController." + "Actual exhaustive review-thread/review-summary/standalone-comment audit procedure adapted into read-only paginated GitHub collection, hash-bound manual scope decisions, unresolved/outdated preservation and quota-versus-completed-review distinction. Used on every state of Pakar, Pealayer and PCController. Targeted cold-cache refresh now retains other repositories from the committed inventory, preserving all 778 PCController/Pealayer records alongside 38 refreshed Pakar records without promoting their review status." ], "targets": [ { "path": "tools/audit-github-conversations.mjs", - "sha256": "d2b9dff0e72c8fa58a5982cde925e550bd159c22d207ac267f5991c68d57656a", + "sha256": "0bd597414af4e28668d2da96e250a27a99550fff9b86e5d58136b7de583a1dcf", "anchor": "export function collect" }, { "path": "docs/GITHUB-COORDINATION.md", - "sha256": "bfe6cae355c53bccbd128f6afb3235b8ed132d5b6791897ffd15c504a79ecf47", + "sha256": "64a078407d296db907e8645e07dc25a6392168cb1cb2e39cc8bb18a9bce01f0d", "anchor": "# Conversation-aware integration" } ], "proof": [ { "path": "tests/github_conversation_audit_test.mjs", - "sha256": "d71ee1e531770b756ab7f5269f9b6cb6d1bf75f7d17cd6c5e71e1529712ae7bd", + "sha256": "dc841c32e7f17b65ae9f16222dde27d0aa7d7d96565654e383978d4919499486", "anchor": "Paginated GitHub audit" } ], diff --git a/docs/file-comparison.csv b/docs/file-comparison.csv index cda2412b..4a98b77f 100644 --- a/docs/file-comparison.csv +++ b/docs/file-comparison.csv @@ -1670,7 +1670,7 @@ "Pealayer","docs/releases/v0.2.0.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","cf9097cad4651b0578a6b9ba55e8cd43ca35a4d40e4a54c19a87ad37c3627fff","repository-governance","https://github.com/atomicdeploy/PakarController/issues/3 | https://github.com/atomicdeploy/PakarController/issues/11","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" "Pealayer","docs/remote-folders.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","c34bc6aa84945bba7c7e143de739e5e5f1fcff84c84a6b0802931dfafbb02fec","donor-audit: specialist routing pending","https://github.com/atomicdeploy/PakarController/issues/3","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" "Pealayer","docs/REMOTE-PEALAYER.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","349c18ebdd5d6451815e72587bb0994b6e9263bd2e05a98540d8221c0d2608ea","donor-audit: specialist routing pending","https://github.com/atomicdeploy/PakarController/issues/3","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" -"Pealayer","docs/REVIEW-COMMENT-AUDIT.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","7a91d9fa8778383ee37e33d861ceebc5ab210e46bedab6af8be82d56c27523cc","github-coordination","https://github.com/atomicdeploy/PakarController/issues/3","parity-gap","complete","tools/audit-github-conversations.mjs:59 [UTF8-LF sha256=d2b9dff0e72c8fa58a5982cde925e550bd159c22d207ac267f5991c68d57656a; anchor=export function collect] | docs/GITHUB-COORDINATION.md:1 [UTF8-LF sha256=bfe6cae355c53bccbd128f6afb3235b8ed132d5b6791897ffd15c504a79ecf47; anchor=# Conversation-aware integration]","Actual exhaustive review-thread/review-summary/standalone-comment audit procedure adapted into read-only paginated GitHub collection, hash-bound manual scope decisions, unresolved/outdated preservation and quota-versus-completed-review distinction. Used on every state of Pakar, Pealayer and PCController.","Historical media thumbnails, MPV surface and DLL basename, timeline/cue migration, audio delay and media picking fixes [not-applicable] | Complete semantic disposition of every historical issue/review and full DNS-rebinding, actuator/persistence, UI/PWA/physical acceptance [pending]","Historical media thumbnails, MPV surface and DLL basename, timeline/cue migration, audio delay and media picking fixes: Pakar is an mpv-free controller and does not own donor playback/media/timeline models. Generic staging safety, keyboard ownership, error correlation, authentication and service-worker origin lessons remain applicable and tracked independently. | Complete semantic disposition of every historical issue/review and full DNS-rebinding, actuator/persistence, UI/PWA/physical acceptance: All pages are collected but fetching does not mean reading or implementing them. Only explicitly hash-bound reviewed scopes are marked; every unread record and source-file import remains pending.","tests/github_conversation_audit_test.mjs:22 [UTF8-LF sha256=d71ee1e531770b756ab7f5269f9b6cb6d1bf75f7d17cd6c5e71e1529712ae7bd; anchor=Paginated GitHub audit]","","Read and reconcile pending records in the refreshed 794-record conversation corpus; seventeen full-record and two comment scopes now have explicit semantic decisions. Continue applicable source imports and exact source/test mapping. Verify RayanLamp repository when supplied; do not invent one or mutate donor comments from Pakar.","Not established by source/hash/test-code comparison; see issue #2" +"Pealayer","docs/REVIEW-COMMENT-AUDIT.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","7a91d9fa8778383ee37e33d861ceebc5ab210e46bedab6af8be82d56c27523cc","github-coordination","https://github.com/atomicdeploy/PakarController/issues/3","parity-gap","complete","tools/audit-github-conversations.mjs:59 [UTF8-LF sha256=0bd597414af4e28668d2da96e250a27a99550fff9b86e5d58136b7de583a1dcf; anchor=export function collect] | docs/GITHUB-COORDINATION.md:1 [UTF8-LF sha256=64a078407d296db907e8645e07dc25a6392168cb1cb2e39cc8bb18a9bce01f0d; anchor=# Conversation-aware integration]","Actual exhaustive review-thread/review-summary/standalone-comment audit procedure adapted into read-only paginated GitHub collection, hash-bound manual scope decisions, unresolved/outdated preservation and quota-versus-completed-review distinction. Used on every state of Pakar, Pealayer and PCController.","Historical media thumbnails, MPV surface and DLL basename, timeline/cue migration, audio delay and media picking fixes [not-applicable] | Complete semantic disposition of every historical issue/review and full DNS-rebinding, actuator/persistence, UI/PWA/physical acceptance [pending]","Historical media thumbnails, MPV surface and DLL basename, timeline/cue migration, audio delay and media picking fixes: Pakar is an mpv-free controller and does not own donor playback/media/timeline models. Generic staging safety, keyboard ownership, error correlation, authentication and service-worker origin lessons remain applicable and tracked independently. | Complete semantic disposition of every historical issue/review and full DNS-rebinding, actuator/persistence, UI/PWA/physical acceptance: All pages are collected but fetching does not mean reading or implementing them. Only explicitly hash-bound reviewed scopes are marked; every unread record and source-file import remains pending.","tests/github_conversation_audit_test.mjs:30 [UTF8-LF sha256=dc841c32e7f17b65ae9f16222dde27d0aa7d7d96565654e383978d4919499486; anchor=Paginated GitHub audit]","","Read and reconcile pending records in the refreshed 794-record conversation corpus; seventeen full-record and two comment scopes now have explicit semantic decisions. Continue applicable source imports and exact source/test mapping. Verify RayanLamp repository when supplied; do not invent one or mutate donor comments from Pakar.","Not established by source/hash/test-code comparison; see issue #2" "Pealayer","docs/reviews/2026-10-06-review-thread-inventory.json","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","0a963fa2ee82a20db70be087fc9c045518b2ab7d02adaea9b607eb8ac44633cb","donor-audit: specialist routing pending","https://github.com/atomicdeploy/PakarController/issues/3","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" "Pealayer","docs/RF-CONTROLS.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","ede5be912ff25a8569744b8ccf19ad607f34ee07d015d86a7b5953629b35e466","donor-audit: specialist routing pending","https://github.com/atomicdeploy/PakarController/issues/3","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" "Pealayer","docs/SCREENSHOTS.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","844423f82d46400a3e698283b2f99688502d96ebb3a62574eceefefa2acfff85","capture","https://github.com/atomicdeploy/PakarController/issues/3 | https://github.com/atomicdeploy/PakarController/issues/8","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" diff --git a/docs/github-conversation-inventory.json b/docs/github-conversation-inventory.json index f7e384c3..e915513c 100644 --- a/docs/github-conversation-inventory.json +++ b/docs/github-conversation-inventory.json @@ -1,5 +1,5 @@ { - "scope": "All states; full paginated bodies, comments, reviews and threads fetched. Only explicit hash-bound decisions attest manual review; the rest remain pending.", + "scope": "All states; fetched records include full paginated bodies, comments, reviews and threads. Unrefreshed records retain their last committed evidence. Only explicit hash-bound decisions attest manual review; fetching never promotes review state.", "repositories": [ "atomicdeploy/PakarController", "atomicdeploy/PCController", @@ -489,8 +489,8 @@ "title": "Integrate pinned portable-shell source without regressing device ownership", "url": "https://github.com/atomicdeploy/PakarController/issues/29", "state": "open", - "content_sha256": "d6594508738415dab810091f3fe6db830aee347ea39c53ad375cfce128fb9b6d", - "comments": 6, + "content_sha256": "ca1997ae40780388181f7ce72eec5b55ca1fd2872ba9ecbdecb5056d50154cab", + "comments": 9, "reviews": 0, "threads": 0, "unresolved_threads": [], @@ -540,8 +540,8 @@ "title": "Board-owned keycontroller minigames and runtime game selection", "url": "https://github.com/atomicdeploy/PakarController/issues/32", "state": "open", - "content_sha256": "0dc2055383f104751c1f2e07a170d8a50ff13a0f3681047e8d9a043cb068fbea", - "comments": 7, + "content_sha256": "490ae7d9ce5b23f9ad039c91c7c43875252e74203c38dec330e07a4817d6788f", + "comments": 12, "reviews": 0, "threads": 0, "unresolved_threads": [], @@ -13849,6 +13849,40 @@ "copilot_quota_notices": 0, "read_state": "reviewed-record", "application": "Runtime build/capture/readiness are separate, and a prior ACK is not current preview authority. Apply to the actual Pakar production receipt: exact executable/PID/capture/settings checked, offline board truth retained, caret/error/shell gaps recorded, no physical or all-green release claim. Private user state is not published. Documentation conversation review only, not donor code-diff review." + }, + { + "repository": "atomicdeploy/PakarController", + "number": 37, + "kind": "pull_request", + "title": "[codex] Restore keycontroller boot mode and add PuzzleBoard timer feedback", + "url": "https://github.com/atomicdeploy/PakarController/pull/37", + "state": "open", + "content_sha256": "6d6b7408e0e5915e9d6c02afbbbaedf690ae440ac1002db1b76d1dba94ef3d5e", + "comments": 2, + "reviews": 0, + "threads": 0, + "unresolved_threads": [], + "copilot_messages": 0, + "copilot_quota_notices": 0, + "read_state": "pending", + "application": "Not evaluated; fetching does not certify an import or resolution." + }, + { + "repository": "atomicdeploy/PakarController", + "number": 38, + "kind": "pull_request", + "title": "Make ESP terminal tables contextual with configured matrix colors and inline controls", + "url": "https://github.com/atomicdeploy/PakarController/pull/38", + "state": "open", + "content_sha256": "aeb3bcf8858cec07cc043b3742e1d4695d800bdc7e85c760c384047ec3439095", + "comments": 2, + "reviews": 0, + "threads": 0, + "unresolved_threads": [], + "copilot_messages": 0, + "copilot_quota_notices": 0, + "read_state": "pending", + "application": "Not evaluated; fetching does not certify an import or resolution." } ] } diff --git a/tests/github_conversation_audit_test.mjs b/tests/github_conversation_audit_test.mjs index 8377c89d..c4783b5e 100644 --- a/tests/github_conversation_audit_test.mjs +++ b/tests/github_conversation_audit_test.mjs @@ -1,5 +1,5 @@ import assert from 'node:assert/strict'; -import {connection,inspect,collect,reviewed} from '../tools/audit-github-conversations.mjs'; +import {connection,inspect,collect,reviewed,mergeInventory} from '../tools/audit-github-conversations.mjs'; let calls=[]; const rows=connection(after=>{calls.push(after);return after===null?{nodes:[1],pageInfo:{hasNextPage:true,endCursor:'next'}}:{nodes:[2],pageInfo:{hasNextPage:false,endCursor:null}}}); assert.deepEqual(rows,[1,2]);assert.deepEqual(calls,[null,'next']); @@ -19,4 +19,12 @@ const decision={repository:record.repository,number:1,content_sha256:checked.con assert.equal(reviewed([checked],[decision])[0].read_state,'reviewed-record'); assert.deepEqual(reviewed([checked],[decision])[0].unresolved_threads,['pending']); assert.equal(reviewed([inspect({...record,body:'Changed'})],[decision])[0].read_state,'stale-review'); -console.log('Paginated GitHub audit: fail-closed completeness, stable content hashes and no fetch-to-review promotion passed.'); +const retained={...checked,repository:'other/donor',read_state:'reviewed-record'}; +const changed=inspect({...record,body:'Changed'}); +const added={...checked,number:2}; +assert.deepEqual(mergeInventory([checked,retained],[changed,added]),[changed,retained,added], + 'Targeted audit without a raw cache must preserve other donor records and their exact evidence'); +assert.deepEqual(mergeInventory([retained],[]),[retained]); +assert.deepEqual(mergeInventory([], [checked]),[checked]); +assert.deepEqual(mergeInventory([checked,retained],[checked,retained]),[checked,retained]); +console.log('Paginated GitHub audit: completeness, stable hashes, no review promotion and cold-cache inventory preservation passed.'); diff --git a/tools/audit-github-conversations.mjs b/tools/audit-github-conversations.mjs index 8b588830..e843e6d8 100644 --- a/tools/audit-github-conversations.mjs +++ b/tools/audit-github-conversations.mjs @@ -95,7 +95,23 @@ function save(path,value){ if(prior===text)return; mkdirSync(dirname(path),{recursive:true});writeFileSync(path,text); } +// A fresh worktree may have the committed inventory but no ignored raw cache. +// A targeted fetch must not erase other repositories or their review evidence. +export function mergeInventory(previous,current){ + const key=row=>row.repository+'#'+row.number; + const replacements=new Map(current.map(row=>[key(row),row])); + const merged=previous.map(row=>{ + const id=key(row),next=replacements.get(id); + replacements.delete(id); + return next||row; + }); + return [...merged,...replacements.values()]; +} export function audit(repositories,cached=false){ + const inventoryPath=resolve(root,'docs/github-conversation-inventory.json'); + let previous=[]; + try{previous=JSON.parse(readFileSync(inventoryPath,'utf8')).records;} + catch(e){if(e.code!=='ENOENT')throw e;} const records=[]; let prior=[]; try{prior=JSON.parse(readFileSync(resolve(root,'.build/github-audit/conversations.json'),'utf8'));} @@ -111,9 +127,9 @@ export function audit(repositories,cached=false){ let decisions=[]; try{decisions=JSON.parse(readFileSync(resolve(root,'docs/github-conversation-decisions.json'),'utf8')).records;} catch(e){if(e.code!=='ENOENT')throw e;} - const inventory=reviewed(records.map(inspect),decisions); - const included=[...new Set(records.map(r=>r.repository))]; - save(resolve(root,'docs/github-conversation-inventory.json'),{scope:'All states; full paginated bodies, comments, reviews and threads fetched. Only explicit hash-bound decisions attest manual review; the rest remain pending.',repositories:included,records:inventory}); + const inventory=mergeInventory(previous,reviewed(records.map(inspect),decisions)); + const included=[...new Set(inventory.map(r=>r.repository))]; + save(inventoryPath,{scope:'All states; fetched records include full paginated bodies, comments, reviews and threads. Unrefreshed records retain their last committed evidence. Only explicit hash-bound decisions attest manual review; fetching never promotes review state.',repositories:included,records:inventory}); return inventory; } if(process.argv[1]&&resolve(process.argv[1])===fileURLToPath(import.meta.url)){ From c2e1d909630900175e38d3f4886f4994bc14faa1 Mon Sep 17 00:00:00 2001 From: David Refoua Date: Thu, 29 Oct 2026 04:41:16 +0330 Subject: [PATCH 2/2] Synchronize generated preservation evidence --- docs/FILE-COMPARISON.md | 2 +- docs/file-comparison.csv | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/FILE-COMPARISON.md b/docs/FILE-COMPARISON.md index 2c14c2e4..64a5ac05 100644 --- a/docs/FILE-COMPARISON.md +++ b/docs/FILE-COMPARISON.md @@ -3139,7 +3139,7 @@ Verdict: **parity-gap**. Revision: `5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad`. O - Target: `tools/audit-github-conversations.mjs:59 [UTF8-LF sha256=0bd597414af4e28668d2da96e250a27a99550fff9b86e5d58136b7de583a1dcf; anchor=export function collect]`. - Target: `docs/GITHUB-COORDINATION.md:1 [UTF8-LF sha256=64a078407d296db907e8645e07dc25a6392168cb1cb2e39cc8bb18a9bce01f0d; anchor=# Conversation-aware integration]`. -- Retained: Actual exhaustive review-thread/review-summary/standalone-comment audit procedure adapted into read-only paginated GitHub collection, hash-bound manual scope decisions, unresolved/outdated preservation and quota-versus-completed-review distinction. Used on every state of Pakar, Pealayer and PCController. +- Retained: Actual exhaustive review-thread/review-summary/standalone-comment audit procedure adapted into read-only paginated GitHub collection, hash-bound manual scope decisions, unresolved/outdated preservation and quota-versus-completed-review distinction. Used on every state of Pakar, Pealayer and PCController. Targeted cold-cache refresh now retains other repositories from the committed inventory, preserving all 778 PCController/Pealayer records alongside 38 refreshed Pakar records without promoting their review status. - Omitted/replaced code: `Historical media thumbnails, MPV surface and DLL basename, timeline/cue migration, audio delay and media picking fixes`. Disposition: **not-applicable**. Reason: Pakar is an mpv-free controller and does not own donor playback/media/timeline models. Generic staging safety, keyboard ownership, error correlation, authentication and service-worker origin lessons remain applicable and tracked independently. - Omitted/replaced code: `Complete semantic disposition of every historical issue/review and full DNS-rebinding, actuator/persistence, UI/PWA/physical acceptance`. Disposition: **pending**. Reason: All pages are collected but fetching does not mean reading or implementing them. Only explicitly hash-bound reviewed scopes are marked; every unread record and source-file import remains pending. - Test-code evidence: `tests/github_conversation_audit_test.mjs:30 [UTF8-LF sha256=dc841c32e7f17b65ae9f16222dde27d0aa7d7d96565654e383978d4919499486; anchor=Paginated GitHub audit]`. diff --git a/docs/file-comparison.csv b/docs/file-comparison.csv index 4a98b77f..4feaf19f 100644 --- a/docs/file-comparison.csv +++ b/docs/file-comparison.csv @@ -1670,7 +1670,7 @@ "Pealayer","docs/releases/v0.2.0.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","cf9097cad4651b0578a6b9ba55e8cd43ca35a4d40e4a54c19a87ad37c3627fff","repository-governance","https://github.com/atomicdeploy/PakarController/issues/3 | https://github.com/atomicdeploy/PakarController/issues/11","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" "Pealayer","docs/remote-folders.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","c34bc6aa84945bba7c7e143de739e5e5f1fcff84c84a6b0802931dfafbb02fec","donor-audit: specialist routing pending","https://github.com/atomicdeploy/PakarController/issues/3","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" "Pealayer","docs/REMOTE-PEALAYER.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","349c18ebdd5d6451815e72587bb0994b6e9263bd2e05a98540d8221c0d2608ea","donor-audit: specialist routing pending","https://github.com/atomicdeploy/PakarController/issues/3","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" -"Pealayer","docs/REVIEW-COMMENT-AUDIT.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","7a91d9fa8778383ee37e33d861ceebc5ab210e46bedab6af8be82d56c27523cc","github-coordination","https://github.com/atomicdeploy/PakarController/issues/3","parity-gap","complete","tools/audit-github-conversations.mjs:59 [UTF8-LF sha256=0bd597414af4e28668d2da96e250a27a99550fff9b86e5d58136b7de583a1dcf; anchor=export function collect] | docs/GITHUB-COORDINATION.md:1 [UTF8-LF sha256=64a078407d296db907e8645e07dc25a6392168cb1cb2e39cc8bb18a9bce01f0d; anchor=# Conversation-aware integration]","Actual exhaustive review-thread/review-summary/standalone-comment audit procedure adapted into read-only paginated GitHub collection, hash-bound manual scope decisions, unresolved/outdated preservation and quota-versus-completed-review distinction. Used on every state of Pakar, Pealayer and PCController.","Historical media thumbnails, MPV surface and DLL basename, timeline/cue migration, audio delay and media picking fixes [not-applicable] | Complete semantic disposition of every historical issue/review and full DNS-rebinding, actuator/persistence, UI/PWA/physical acceptance [pending]","Historical media thumbnails, MPV surface and DLL basename, timeline/cue migration, audio delay and media picking fixes: Pakar is an mpv-free controller and does not own donor playback/media/timeline models. Generic staging safety, keyboard ownership, error correlation, authentication and service-worker origin lessons remain applicable and tracked independently. | Complete semantic disposition of every historical issue/review and full DNS-rebinding, actuator/persistence, UI/PWA/physical acceptance: All pages are collected but fetching does not mean reading or implementing them. Only explicitly hash-bound reviewed scopes are marked; every unread record and source-file import remains pending.","tests/github_conversation_audit_test.mjs:30 [UTF8-LF sha256=dc841c32e7f17b65ae9f16222dde27d0aa7d7d96565654e383978d4919499486; anchor=Paginated GitHub audit]","","Read and reconcile pending records in the refreshed 794-record conversation corpus; seventeen full-record and two comment scopes now have explicit semantic decisions. Continue applicable source imports and exact source/test mapping. Verify RayanLamp repository when supplied; do not invent one or mutate donor comments from Pakar.","Not established by source/hash/test-code comparison; see issue #2" +"Pealayer","docs/REVIEW-COMMENT-AUDIT.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","7a91d9fa8778383ee37e33d861ceebc5ab210e46bedab6af8be82d56c27523cc","github-coordination","https://github.com/atomicdeploy/PakarController/issues/3","parity-gap","complete","tools/audit-github-conversations.mjs:59 [UTF8-LF sha256=0bd597414af4e28668d2da96e250a27a99550fff9b86e5d58136b7de583a1dcf; anchor=export function collect] | docs/GITHUB-COORDINATION.md:1 [UTF8-LF sha256=64a078407d296db907e8645e07dc25a6392168cb1cb2e39cc8bb18a9bce01f0d; anchor=# Conversation-aware integration]","Actual exhaustive review-thread/review-summary/standalone-comment audit procedure adapted into read-only paginated GitHub collection, hash-bound manual scope decisions, unresolved/outdated preservation and quota-versus-completed-review distinction. Used on every state of Pakar, Pealayer and PCController. Targeted cold-cache refresh now retains other repositories from the committed inventory, preserving all 778 PCController/Pealayer records alongside 38 refreshed Pakar records without promoting their review status.","Historical media thumbnails, MPV surface and DLL basename, timeline/cue migration, audio delay and media picking fixes [not-applicable] | Complete semantic disposition of every historical issue/review and full DNS-rebinding, actuator/persistence, UI/PWA/physical acceptance [pending]","Historical media thumbnails, MPV surface and DLL basename, timeline/cue migration, audio delay and media picking fixes: Pakar is an mpv-free controller and does not own donor playback/media/timeline models. Generic staging safety, keyboard ownership, error correlation, authentication and service-worker origin lessons remain applicable and tracked independently. | Complete semantic disposition of every historical issue/review and full DNS-rebinding, actuator/persistence, UI/PWA/physical acceptance: All pages are collected but fetching does not mean reading or implementing them. Only explicitly hash-bound reviewed scopes are marked; every unread record and source-file import remains pending.","tests/github_conversation_audit_test.mjs:30 [UTF8-LF sha256=dc841c32e7f17b65ae9f16222dde27d0aa7d7d96565654e383978d4919499486; anchor=Paginated GitHub audit]","","Read and reconcile pending records in the refreshed 794-record conversation corpus; seventeen full-record and two comment scopes now have explicit semantic decisions. Continue applicable source imports and exact source/test mapping. Verify RayanLamp repository when supplied; do not invent one or mutate donor comments from Pakar.","Not established by source/hash/test-code comparison; see issue #2" "Pealayer","docs/reviews/2026-10-06-review-thread-inventory.json","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","0a963fa2ee82a20db70be087fc9c045518b2ab7d02adaea9b607eb8ac44633cb","donor-audit: specialist routing pending","https://github.com/atomicdeploy/PakarController/issues/3","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" "Pealayer","docs/RF-CONTROLS.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","ede5be912ff25a8569744b8ccf19ad607f34ee07d015d86a7b5953629b35e466","donor-audit: specialist routing pending","https://github.com/atomicdeploy/PakarController/issues/3","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2" "Pealayer","docs/SCREENSHOTS.md","5a6961ce6a477a4726b7baf8a84d12fde1cdf6ad","844423f82d46400a3e698283b2f99688502d96ebb3a62574eceefefa2acfff85","capture","https://github.com/atomicdeploy/PakarController/issues/3 | https://github.com/atomicdeploy/PakarController/issues/8","pending-comparison","not-certified-by-this-comparison","","","Not yet determined; not an accepted exclusion","No approved reason to leave this file out. screened is not behavior-comparison proof.","","","Read and compare this exact donor; map every applicable behavior and justify each omission.","Not established by source/hash/test-code comparison; see issue #2"