Safari Reading List Wiki Home About Schema Log Sources

Docs

Log

Safari Reading List Wiki Log

Append-only record of source ingestion, synthesis, maintenance, and audits. Format: ## [YYYY-MM-DD] action | subject

[2026-08-09] create | Safari Reading List wiki initialized

  • Created independent wiki at /Users/gal/safari-wiki.
  • Established source-aware schema, index, and provenance policy.

[2026-08-09] ingest | Safari Reading List snapshot exported and normalized

  • Collector: /Users/gal/.local/bin/srl export all (read-only Safari export).
  • Raw export: _meta/snapshots/reading-list-2026-08-09-raw.json
  • SHA-256: 3d40071452d80c71d1f26a1cccdc0e39f6513049a6787a06ad4e99de98e026b4
  • Normalized snapshot: _meta/snapshots/reading-list-2026-08-09.json
  • SHA-256: e5b3d039af005cb7ce8046073ea7cb2c98ef8c69c4f29d87a15723198b89808e
  • Reconciliation: 113 raw items → 112 unique source records + 1 duplicate + 0 rejected.

[2026-08-09] ingest | Raw article corpus captured

  • Captured 112/112 manifest records to raw/articles/ with source-key coverage, exact-body SHA-256 frontmatter, and no empty bodies.
  • Capture was rate-limited after the first burst; all deferred requests were retried within the observed provider limit. No source was marked permanently degraded.
  • Verified: 112 raw files, 112 unique source keys, 0 raw/frontmatter/manifest provenance mismatches.

[2026-08-09] verify | Raw-source provenance hash normalization

  • Corrected raw frontmatter and manifest hashes to cover the exact persisted source-body bytes, including their terminal newline.
  • Verified that all 112 source-body byte sequences were preserved; no article content was changed.

[2026-08-09] lint | Pre-synthesis baseline

  • Added reproducible scripts/lint_wiki.py and dependency-free tests for the normalizer and linter.
  • Baseline result: 0 synthesis pages, 0 lint issues (_meta/lint/pre-synthesis.json).

[2026-08-09] extract | Luna document extraction checkpoint

  • Independently validated chunks 001–006: 59 source records total, 57 complete and 2 explicitly insufficient_source.
  • Verification covered exact source keys, raw paths, exact raw-body SHA-256 values, JSON/schema limits, claim/entity shapes, and output coverage.
  • Chunks 007–009 (30 sources) are dispatched to gpt-5.6-luna; global synthesis remains intentionally deferred until full-corpus coverage.

[2026-08-09] build | Reproducible corpus assembly gate

  • Added and tested scripts/assemble_corpus.py, which combines only exact manifest/extraction coverage and rejects duplicate, unexpected, missing, or not-complete records.
  • Test suite: 3 passing tests. Final corpus assembly is blocked until all 112 sources are validated.

[2026-08-09] orchestration | Luna routing verified

  • Set Hermes model.default to openai-codex/gpt-5.6-luna via hermes config set; the active Terra session was not changed.
  • Delegation remains explicitly pinned to openai-codex / gpt-5.6-luna / max and completed extraction batches reported that model.
  • hermes config check passed (config version 33).

[2026-08-09] navigation | Immutable source inventory

  • Added raw/README.md, an indexed link inventory for all 112 captured raw sources and their original URLs.
  • Verified all 112 generated article targets exist; no captured body was modified.

[2026-08-09] verify | Reusable extraction artifact verifier

  • Added and test-covered scripts/validate_extractions.py for exact source coverage, raw-body hashes, output contracts, claims, and entities.
  • Re-ran it against verified chunks 001–006: 59 records checked, 0 issues. Test suite: 4 passing tests.

[2026-08-09] schema | Extraction and assembly provenance

  • Documented the concrete chunk, validation, corpus-assembly, and insufficient_source rules in SCHEMA.md.
  • Linter rerun after the schema change: 0 synthesis pages, 0 issues (_meta/lint/post-schema-pipeline.json).

[2026-08-09] extract | Final Luna batch dispatched

  • Chunks 007–009 passed the reusable parent verifier: 30 records, 0 issues; manifest coverage is now 89 complete source extractions.
  • Chunks 010–012 (the final 23 sources) are dispatched to gpt-5.6-luna / max with non-overlapping raw-source coverage.
  • Verified-only corpus signals through chunk 009: 87 complete records and 2 insufficient_source records.

[2026-08-09] recovery | Interrupted final extraction batch audited

  • Gateway interruption left the original final delegation batch without a terminal owner result; no Safari export or raw capture was replayed.
  • Read-only recovery audit: 112/112 raw files present with 0 raw-hash mismatches; persisted outputs 001–009 and 012 were available.
  • Revalidated 92 persisted extraction records with 0 issues, accepted chunk 012, and re-dispatched only missing chunks 010–011 (20 sources) to gpt-5.6-luna / max.

[2026-08-09] build | Deterministic synthesis signals

  • Added test-covered scripts/build_corpus_signals.py, which counts only assembled complete records and keeps insufficient_source records explicitly excluded.
  • It emits deterministic tag, concept, entity, type, and quality-flag frequencies plus two-source page candidates; it does not create synthesis pages.
  • Full dependency-free unit suite: 5 passing tests.

[2026-08-09] lint | Immutable raw-body hash enforcement

  • Extended scripts/lint_wiki.py to fail on missing, malformed, or mismatched raw content_sha256 values under raw/articles/.
  • Added a tampered-body regression test. Full suite: 6 passing tests; real vault lint: 0 issues including 0 raw-hash issues.

[2026-08-09] extract | Full Luna extraction corpus recovered and accepted

  • Recovery chunks 010–011 completed through openai-codex / gpt-5.6-luna / max: 20 records with exact expected coverage.
  • Parent-side validator checked chunks 001–012: 112 records, 0 issues.
  • Accepted the final 20 manifest records and assembled _meta/corpus.json through the exact-coverage gate: 112 manifest records, 112 extraction records, 102 complete, 10 explicit insufficient_source, 0 missing or unexpected records.

[2026-08-09] synthesize | Interlinked corpus knowledge layer

  • Generated complete-only corpus signals and a parent-owned synthesis ledger; immutable raw article bodies remained outside the synthesis prompt.
  • Defined 12 durable taxonomy tags in SCHEMA.md and created 22 provenance-linked pages: 6 entities, 14 concepts, 1 comparison, and 1 corpus overview.
  • Added comparisons/agent-control-patterns.md and bounded contradiction notes for conditional photography methods, AI labor-market perspectives, and normative AI-safety claims.
  • Updated index.md and README.md with the navigation and final corpus state.

[2026-08-09] audit | Independent extraction-sample review dispatched

  • Dispatched a read-only gpt-5.6-luna audit of a deterministic 10-record sample from verified chunks 001–009 and 012.
  • The audit may write only _meta/reviews/extraction-audit-001.json; it cannot alter source, extraction, manifest, or synthesis records.

[2026-08-09] verify | Final synthesis gate

  • Full dependency-free unittest suite: 6/6 passing.
  • Final wiki lint: 22 pages, 12 taxonomy tags, 0 issues (_meta/lint/final-synthesis.json).
  • The linter rechecked all raw-body hashes, synthesis frontmatter, taxonomy tags, raw references, wikilinks, index coverage, and page-orphan rules.

[2026-08-09] audit | Independent Luna extraction-sample review accepted

  • Read-only audit artifact: _meta/reviews/extraction-audit-001.json.
  • Parent verification confirmed valid JSON, exact manifest order, 10 unique sampled source keys, 10 passes, 0 concerns, and internally consistent totals.
  • The two sampled unavailable/error captures correctly retained empty claims, entities, and concepts; no extraction rewrite was warranted.

[2026-08-09] improve | Coverage-complete synthesis and source routing

  • A read-only information-architecture audit found that the original 22 synthesis pages cited 73/102 complete source records; 29 complete records were not traceably represented in the knowledge layer.
  • Preserved the existing hubs, added 10 distinct concept pages, one Hermes Agent entity page, and a source-coverage query map; the synthesis layer now has 34 pages.
  • Integrated the remaining substantive gaps into existing hubs with raw-path citations and reciprocal links. The final structure routes 99/102 complete records to substantive pages and records 3 deliberately source-only records with explicit rationales in _meta/source-routing.json.
  • Added a digital-media taxonomy tag and a fail-closed linter source-routing contract, with regression tests for missing routing, uncited synthesized routes, and valid rationalized source-only routes.
  • No immutable raw capture, extraction record, manifest, or snapshot was modified.

[2026-08-09] improve | Navigation resilience

  • A read-only graph audit removed the corpus-overview hub and found three substantive new pages with no alternate inbound path: deep-learning foundations, media technology and open standards, and privacy and security boundaries.
  • Added reciprocal, domain-meaningful links from agent harness design, web and cloud infrastructure, and agent security and human oversight respectively.
  • Re-linted the resulting graph: 34 pages, 13 taxonomy tags, 0 issues. Every substantive page now has a non-overview inbound connection; source-coverage remains intentionally reached from the index and corpus overview as a provenance map.

[2026-08-09] acceptance | Groundedness and reader retrieval

  • Independent architecture review: pass with minor concerns; it recommended no further page expansion and called for targeted grounding and retrieval checks rather than more structure.
  • Persisted _meta/reviews/synthesis-groundedness-sample-001.json: deterministic sample of all sources behind five single-source pages plus the two highest-risk multi-source pages (11 source records total).
  • Persisted _meta/reviews/synthesis-groundedness-audit-001.json: 11/11 passes, 0 concerns. The audit checked immutable raw captures, matching extraction records, source identities, stated limitations, and page-level use.
  • Persisted _meta/reviews/retrieval-journeys-001.json: 5/5 representative reader journeys passed with 0 invalid hops and no dependency on the corpus-overview hub.
  • The acceptance checks found no material editorial or source-groundedness issue; no source, extraction, or synthesis claim was altered during audit.

[2026-08-09] acceptance | Independent Luna editorial review

  • The bounded read-only Luna acceptance review completed using openai-codex / gpt-5.6-luna / max.
  • Verdict: pass; blockers: none; high-value concerns: none; recommended next step: none.
  • The reviewer inspected the information architecture, new concepts and Hermes entity, source-only rationales, navigation across the major reader domains, routing/linter contract, and representative raw-source grounding. It reported no material overconfidence or unsupported synthesis claim in its sample.
  • The reviewer reported no created or modified wiki files.

[2026-08-09] publish | Static site built and deployed to Cloudflare Pages

  • Added scripts/build_site.py (wikilink, provenance-badge, and .md-link rewriting; sidebar navigation; client-side search index; custom 404; build-report.json) and tests/test_build_site.py; full suite now 20/20 passing.
  • Built 151 static pages under _site/: 34 synthesis pages, 4 top-level docs, raw/README, and 112 immutable raw articles; 0 unresolved wikilinks and 0 warnings.
  • Verified locally: all 151 pages returned 200 with spot checks for wikilink conversion, provenance badges, raw-source links, CSS, and the search index.
  • Created Cloudflare Pages project safari-wiki (production branch main) and deployed 155 files; site is live at https://safari-wiki.pages.dev.
  • No raw capture, extraction record, manifest, or synthesis page was modified.