Skip to main content
Pharos

Changelog: November 2026

Latest releases and all monthly archives
  1. Week #44

    360 commits

    Safety Score counts each open question once, and /coverage/ publishes the three numbers behind each grade.

    • /coverage/ now opens with three server-counted numbers: open questions, not disclosed by issuers, and documentation gaps. Each is counted once at its root asset, and an older publication reads as unavailable, never zero.

    • The report-cards API gains an additive openEvidence block with the same three totals, owner and reason rows, the issuer review window and per-card rows. Scores, grades and evidence levels stay untouched.

    • Documentation gapscoverage

      A policy-owned documentation class now marks the open questions whose resolution cannot materially move a score, under six published reasons and two strict bars. Pricing, causes, caps and evidence levels stay byte-identical, and a card reads "limited · documentation gaps only" only when every limiting witness is documentation.

    • Missing-data registry v3infra

      The curation registry gains documentation and issuer bands, keys its questions through the shared counting authority, and drops a supplement only when every obligation it carries is already a compiled task, so the worklist shows 72 supplements instead of 469 on the current capture.

    • Scores dataset v2infra

      The scores dataset display projection carries the same totals with their semantics, plus a machine-readable reason when a generation predates them, so missing counts never read as zero.

    • Plainer gap languagedesign

      A cause-A pillar gap now reads "data pipeline unavailable" rather than implying an issuer omission, and one shared vocabulary names all three buckets on the page and in its explanations.

    Show commits
    • 3fed1765 feat(safety-score): publish documentation counts and documentation-only annotations
    • 3c1a7d02 test(safety-score): pin the documentation-class invariants and fail-closed annotation
    • 71318c26 feat(registry): dedupe registry supplements against compiled tasks
    • 3aec22f3 feat(safety-score): project documentation carriers and documentation-only limited pillars
    • d7186223 fix(coverage): give every open-evidence owner a distinct rail swatch
    • a38c1418 test(safety-score): prove restatement aliases are score-neutral at the exit pillar
    • a47d31b7 fix(safety-score): let provider-wide reviews omit assetId in the authored envelope
    • 28f2ae27 docs(coverage): document the open-evidence counting and API contract
    • 57bff3ed fix(safety-score): finalize the open-evidence contract per contract review
    • 5cc9369d test(safety-score): read the asset score from the trace in the exit-coverage invariant
    • ad826a70 fix(safety-score): gate durable custody lapse on the retention flag alone
    • 0d779691 refactor(safety-score): drop per-reason retention from the documentation policy block
    • 3dd33696 fix(safety-score): tighten incident-review contracts per contract review
    • c666a424 refactor(safety-score): single authority for documentation retention and thresholds
    • c7a1ad5b fix(safety-score): serve every archived report8 snapshot through the historical schema
    • 3c3fc45a refactor(curation): key registry questions through the shared open-questions authority
    • 89f48318 test(safety-score): pin exit and backing documentation-class invariants
    • 6ec31640 feat(curation): missing-data registry schema 3 with documentation and issuer bands
    • 30afb5a4 feat(safety-scores): annotate pillars limited only by documentation gaps
    • eb95a75d fix(safety-score): alias source-less restatements to their compiled gaps

    … and 340 more