From d09be1777eb6e89c7291fe0723cf88a9e121f9be Mon Sep 17 00:00:00 2001 From: twentyOne2x Date: Tue, 14 Jul 2026 02:49:21 +0200 Subject: [PATCH] retain current post-V3 database rebuild proof --- docs/kb-rebuild-and-recompile.md | 13 +- .../current-truth-index.md | 8 +- ...refresh-post-v3-local-rebuild-current.json | 179 ++++++++++++++++++ .../gcp-refresh-post-v3-snapshot-current.json | 43 +++++ ...e-day-outcome-and-forward-path-20260714.md | 40 ++-- 5 files changed, 254 insertions(+), 29 deletions(-) create mode 100644 docs/reports/leo-working-state-20260709/gcp-refresh-post-v3-local-rebuild-current.json create mode 100644 docs/reports/leo-working-state-20260709/gcp-refresh-post-v3-snapshot-current.json diff --git a/docs/kb-rebuild-and-recompile.md b/docs/kb-rebuild-and-recompile.md index 2c1bde1..789e759 100644 --- a/docs/kb-rebuild-and-recompile.md +++ b/docs/kb-rebuild-and-recompile.md @@ -25,10 +25,10 @@ Run: --output /tmp/teleo-canonical-rebuild-receipt.json ``` -The newest retained 2026-07-13 canary restored a fresh, network-isolated +The newest retained 2026-07-14 post-V3 canary restored a fresh, network-isolated Postgres and then removed it. The restored target matched the source across all -39 manifest tables and all 52,165 rows, with no schema, data, constraint, role, -or performance mismatch. Total runtime was 12.35 seconds, including 2.97 +39 manifest tables and all 52,167 rows, with no schema, data, constraint, role, +or performance mismatch. Total runtime was 10.56 seconds, including 2.71 seconds for `pg_restore`. Key rows included: - 1,837 claims; @@ -36,10 +36,11 @@ seconds for `pg_restore`. Key rows included: - 4,670 claim-evidence links; - 4,916 claim edges; - 17 reasoning tools; -- 27 proposals. +- 29 proposals. -This snapshot predates the completed V3 source canary. The live VPS now has 29 -proposals, so a new snapshot is required before claiming current GCP parity. +This snapshot includes the completed V3 source canary. It is ready as the +current restore input, but it has not yet been restored to GCP; current GCP +parity therefore remains unproven. This is the fastest disaster-recovery path. It does not require Leo to re-extract or relearn the corpus. diff --git a/docs/reports/leo-working-state-20260709/current-truth-index.md b/docs/reports/leo-working-state-20260709/current-truth-index.md index 2a20dfa..a0d7b61 100644 --- a/docs/reports/leo-working-state-20260709/current-truth-index.md +++ b/docs/reports/leo-working-state-20260709/current-truth-index.md @@ -25,9 +25,9 @@ supersedes the July 13 verdict below. - Visible Telegram proof for the current broad suite is still pending and must use authenticated Google Chrome only. - Prior GCP parity remains valid at its historical proof point (`39` tables, - `52,164` rows), but current parity is pending. A newer `52,165`-row, - `27`-proposal VPS dump restored locally with zero mismatches; it predates the - live `29`-proposal V3 state and has not yet been restored to GCP. + `52,164` rows), but current parity is pending. A post-V3 `52,167`-row, + `29`-proposal VPS dump restored locally with zero mismatches and complete + cleanup; it has not yet been restored to GCP. - Exact snapshot recovery works. Full source-to-blank-database recompilation is partial; see `../../kb-rebuild-and-recompile.md`. @@ -37,6 +37,8 @@ Newest artifacts: - `telegram-handler-m3taversal-oos-suite-score-current.md` - `telegram-handler-v3-proposal-readback-post-restart-current.json` - `leo-v3-document-source-lifecycle-current.md` +- `gcp-refresh-post-v3-snapshot-current.json` +- `gcp-refresh-post-v3-local-rebuild-current.json` ## Live Addendum - 2026-07-13 diff --git a/docs/reports/leo-working-state-20260709/gcp-refresh-post-v3-local-rebuild-current.json b/docs/reports/leo-working-state-20260709/gcp-refresh-post-v3-local-rebuild-current.json new file mode 100644 index 0000000..aa5f2c4 --- /dev/null +++ b/docs/reports/leo-working-state-20260709/gcp-refresh-post-v3-local-rebuild-current.json @@ -0,0 +1,179 @@ +{ + "application_roles_bootstrapped": [ + "kb_apply" + ], + "artifact": "local_canonical_postgres_rebuild_canary", + "canonical_schema_table_count": 39, + "cleanup": { + "absence_inspection_attempts": 1, + "attempted": true, + "container": "teleo-canonical-rebuild-20260714004651-44b724c610e5", + "container_absent": true, + "force_remove_attempted": true, + "force_remove_exit_code": 0, + "status": "pass" + }, + "container": { + "id_prefix": "3e9fafc7e00b", + "image": "postgres:16-alpine", + "isolation": { + "image": "postgres:16-alpine", + "label": "teleo-canonical-rebuild-20260714004651-44b724c610e5", + "network_mode": "none", + "postgres_data_tmpfs": "rw,nosuid,nodev,noexec,size=1024m", + "running": true + }, + "name": "teleo-canonical-rebuild-20260714004651-44b724c610e5", + "named_database_psql_attempts": 5, + "named_database_psql_ready": true, + "network_mode_required": "none", + "postgres_data_tmpfs_required": "rw,nosuid,nodev,noexec,size=1024m", + "preexisting_absence_proven": true, + "started": true + }, + "database": "teleo", + "dump": { + "bytes": 13468277, + "custom_format_signature_valid": true, + "path": "/private/tmp/working-leo-gcp-refresh-post-v3-20260714/teleo-canonical.dump", + "sha256": "8a49bd487175711d3abc295cd09ed2ca5d5f9dd83e8838f06eeae4bb66a3fc23" + }, + "error": null, + "generated_at_utc": "2026-07-14T00:46:51.713676+00:00", + "key_counts": { + "kb_stage.kb_proposals": 29, + "public.claim_edges": 4916, + "public.claim_evidence": 4670, + "public.claims": 1837, + "public.reasoning_tools": 17, + "public.sources": 4145 + }, + "parity": { + "details": { + "application_role_mismatches": {}, + "performance": [ + { + "query": "claim_edges_by_claim_id", + "source_ms": 0.044, + "source_ratio": 0.0104, + "target_ms": 0.052 + }, + { + "query": "claim_evidence_by_claim_id", + "source_ms": 0.068, + "source_ratio": 0.011600000000000001, + "target_ms": 0.058 + }, + { + "query": "count_claims", + "source_ms": 0.241, + "source_ratio": 0.0852, + "target_ms": 0.426 + }, + { + "query": "pending_proposals_latest", + "source_ms": 0.016, + "source_ratio": 0.0008, + "target_ms": 0.004 + } + ], + "performance_problems": [], + "required_extension_mismatches": {}, + "source_connection": { + "database_collation": "en_US.utf8", + "database_ctype": "en_US.utf8", + "server_address": null, + "server_port": null, + "ssl": false, + "ssl_version": null + }, + "source_database": "teleo", + "source_table_count": 39, + "source_total_rows": 52167, + "structural_hashes": { + "columns": { + "source": "50b502967aa85b88bd204c7b9035de60bf21a6a6973817e8b8121d0cd9faab81", + "target": "50b502967aa85b88bd204c7b9035de60bf21a6a6973817e8b8121d0cd9faab81" + }, + "constraints": { + "source": "8b26d26fda56f09325e0603aae48051da08dfc6c35322fa88880acdabb8ad859", + "target": "8b26d26fda56f09325e0603aae48051da08dfc6c35322fa88880acdabb8ad859" + }, + "functions": { + "source": "4bddee626b3ab62af236493001d2a09f2d56c084beb7e6c69cd082ce4aba155b", + "target": "4bddee626b3ab62af236493001d2a09f2d56c084beb7e6c69cd082ce4aba155b" + }, + "indexes": { + "source": "5c4f7567e9ad0f25da0ab15f650a1005397ae9c727af1ab41e2675c46a5ebce5", + "target": "5c4f7567e9ad0f25da0ab15f650a1005397ae9c727af1ab41e2675c46a5ebce5" + }, + "policies": { + "source": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945", + "target": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945" + }, + "schemas": { + "source": "2fdf551b403db2d79813c8fd2869dadfeba261fac2aaa718b355cd7414640979", + "target": "2fdf551b403db2d79813c8fd2869dadfeba261fac2aaa718b355cd7414640979" + }, + "sequences": { + "source": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945", + "target": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945" + }, + "triggers": { + "source": "4d5f3394480c8410035dac5457e144c7db80fa0820ff49beb93aa819a7282c64", + "target": "4d5f3394480c8410035dac5457e144c7db80fa0820ff49beb93aa819a7282c64" + }, + "types": { + "source": "365e82ac205319d25d14c8b16026978f0e6023ae0c58767f700d7f2ea659b70b", + "target": "365e82ac205319d25d14c8b16026978f0e6023ae0c58767f700d7f2ea659b70b" + }, + "views": { + "source": "5c33fa260f25dccffc214f795c66e3dbae89d91d0dbf8a98122ace1dcda46799", + "target": "5c33fa260f25dccffc214f795c66e3dbae89d91d0dbf8a98122ace1dcda46799" + } + }, + "table_mismatches": [], + "target_connection": { + "database_collation": "en_US.utf8", + "database_ctype": "en_US.utf8", + "server_address": null, + "server_port": null, + "ssl": false, + "ssl_version": null + }, + "target_database": "teleo", + "target_extra_application_roles": [], + "target_table_count": 39, + "target_total_rows": 52167 + }, + "problems": [], + "requested": true, + "source_manifest": { + "bytes": 164734, + "path": "/private/tmp/working-leo-gcp-refresh-post-v3-20260714/source-manifest.jsonl", + "sha256": "c0f53a3f8bc845ffc78255c1ab45771bfbe136c7302a47e161afb24258a72478" + }, + "status": "pass", + "target_manifest": { + "bytes": 164734, + "line_count": 56, + "sha256": "7495ce4e9b82685fe4d044ecb205b3e1d8594e6ed711fd77f57006598b6380a9" + }, + "verifier": "ops.verify_postgres_parity_manifest.compare_manifests" + }, + "safety": { + "network_access_available_to_container": false, + "persistent_postgres_storage_used": false, + "production_database_touched": false + }, + "status": "pass", + "timings_seconds": { + "cleanup": 0.513471, + "container_start_and_named_database_ready": 2.157436, + "dump_validation_and_hash": 0.011392, + "key_count_readback": 1.616971, + "manifest_capture_and_parity_compare": 3.017485, + "pg_restore": 2.710905, + "total": 10.559365 + } +} diff --git a/docs/reports/leo-working-state-20260709/gcp-refresh-post-v3-snapshot-current.json b/docs/reports/leo-working-state-20260709/gcp-refresh-post-v3-snapshot-current.json new file mode 100644 index 0000000..90f7c73 --- /dev/null +++ b/docs/reports/leo-working-state-20260709/gcp-refresh-post-v3-snapshot-current.json @@ -0,0 +1,43 @@ +{ + "artifact": "vps_canonical_postgres_exported_snapshot", + "dump": { + "bytes": 13468277, + "path": "/private/tmp/working-leo-gcp-refresh-post-v3-20260714/teleo-canonical.dump", + "sha256": "8a49bd487175711d3abc295cd09ed2ca5d5f9dd83e8838f06eeae4bb66a3fc23", + "toc": { + "constraints": 113, + "entries": 294, + "indexes": 75, + "table_data": 39 + } + }, + "generated_at_utc": "2026-07-14T00:46:33.235597+00:00", + "manifest": { + "application_roles": [ + { + "bypass_rls": false, + "can_login": true, + "create_db": false, + "create_role": false, + "inherit": true, + "name": "kb_apply", + "replication": false, + "superuser": false + } + ], + "path": "/private/tmp/working-leo-gcp-refresh-post-v3-20260714/source-manifest.jsonl", + "table_count": 39, + "total_rows": 52167 + }, + "production_db_mutated": false, + "service_unchanged": true, + "snapshot_exported": true, + "source": { + "container": "teleo-pg", + "database": "teleo", + "service": "leoclean-gateway.service", + "ssh_target": "root@77.42.65.182" + }, + "status": "pass", + "telegram_send_attempted": false +} diff --git a/docs/reports/leo-working-state-20260709/working-leo-three-day-outcome-and-forward-path-20260714.md b/docs/reports/leo-working-state-20260709/working-leo-three-day-outcome-and-forward-path-20260714.md index 7c42043..6c0212b 100644 --- a/docs/reports/leo-working-state-20260709/working-leo-three-day-outcome-and-forward-path-20260714.md +++ b/docs/reports/leo-working-state-20260709/working-leo-three-day-outcome-and-forward-path-20260714.md @@ -20,10 +20,10 @@ and survive a gateway restart. The current broad no-post suite passes `15/15`. **GCP answer: prior parity is proven, current parity is not.** A July 12 GCP copy matched the VPS across `39` tables and `52,164` rows and passed an -adapter-free no-send model replay. A newer July 13 VPS dump with `52,165` rows -and `27` proposals restored and verified locally, but it has not yet been -restored to GCP. The live VPS now has `29` proposals after the V3 document -canary, so the latest VPS state is ahead of the last GCP proof. +adapter-free no-send model replay. A newer post-V3 VPS dump with `52,167` rows +and `29` proposals now restores and verifies locally with zero mismatches, but +it has not yet been restored to GCP. The prepared input is current; the cloud +replay is still pending. **Database rebuild answer: exact recovery works; semantic recompilation is partial.** A verified snapshot can recreate the current Postgres database in @@ -227,35 +227,33 @@ the July 13-14 source compiler, V3 proposal, named-proposal readback, or the sam ## GCP: Current Forward Path -A fresh July 13 source dump is retained at: +A fresh post-V3 July 14 source dump is retained at: ```text -/private/tmp/working-leo-gcp-refresh-20260713/teleo-canonical.dump +/private/tmp/working-leo-gcp-refresh-post-v3-20260714/teleo-canonical.dump ``` Its SHA-256 is: ```text -3fc686ccc423651e86d1f0ad052fa89877215b634a07267a7e26a28e1c2bebe8 +8a49bd487175711d3abc295cd09ed2ca5d5f9dd83e8838f06eeae4bb66a3fc23 ``` -It contains `39` tables and `52,165` rows with `27` proposals. A disposable -local restore passed with zero parity mismatches and complete cleanup. Because -the V3 lifecycle later moved the VPS to `29` proposals, this dump is useful but -is not the newest possible source state. +It contains `39` tables and `52,167` rows with `29` proposals. A disposable +local restore passed with zero parity mismatches and complete cleanup. This is +the current source state captured after the V3 lifecycle. The next GCP sequence is: 1. complete Google Cloud CLI reauthentication through the existing Google Chrome sign-in tab; 2. bootstrap the least-privilege IAP/operator identities from the merged repo; -3. capture a new post-V3 VPS snapshot; -4. restore it into a disposable GCP staging database; -5. verify schema, constraints, row counts, hashes, roles, private connectivity, +3. restore the captured post-V3 snapshot into a disposable GCP staging database; +4. verify schema, constraints, row counts, hashes, roles, private connectivity, and bounded performance; -6. deploy the current Leo compute/runtime against that copy; -7. replay the same 15-question broad suite plus the exact V3 proposal question; -8. prove no send, no canonical write, cleanup, and no orphan resources. +5. deploy the current Leo compute/runtime against that copy; +6. replay the same 15-question broad suite plus the exact V3 proposal question; +7. prove no send, no canonical write, cleanup, and no orphan resources. Until this sequence runs, current GCP parity must be reported as pending rather than inferred from the earlier green proof. @@ -276,9 +274,9 @@ This is the reliable disaster-recovery path today: ``` The July 13 canary restored a network-isolated Postgres instance, verified all -`39` tables and `52,165` rows, checked structural and row hashes, roles and -performance, and removed the container. Total runtime was `12.35` seconds, -including `2.97` seconds for `pg_restore`. +`39` tables and `52,167` rows, checked structural and row hashes, roles and +performance, and removed the container. Total runtime was `10.56` seconds, +including `2.71` seconds for `pg_restore`. This recreates the database exactly. It does not re-extract knowledge from the source corpus. @@ -365,6 +363,8 @@ training its chat style. - `leo-v3-document-source-lifecycle-current.json` - `leo-v3-document-source-lifecycle-current.md` - `gcp-refresh-local-rebuild-current.json` +- `gcp-refresh-post-v3-snapshot-current.json` +- `gcp-refresh-post-v3-local-rebuild-current.json` - `../../kb-rebuild-and-recompile.md` ## Final Claim Ceiling