Skip to content

feat(packet): minimal-disclosure export scoping, self-documented in every packet (R-35)#40

Open
ChelseaKR wants to merge 2 commits into
mainfrom
roadmap/minimal-disclosure-export-scoping-r-35-10
Open

feat(packet): minimal-disclosure export scoping, self-documented in every packet (R-35)#40
ChelseaKR wants to merge 2 commits into
mainfrom
roadmap/minimal-disclosure-export-scoping-r-35-10

Conversation

@ChelseaKR

Copy link
Copy Markdown
Owner

Make each exported packet self-documenting about its minimal-disclosure scope so a
scoped production meets an over-broad discovery demand with an explicit, on-the-record
boundary rather than a data dump.

  • disclosure.py: new localized ScopeStatement / scope_statement() (EN + ES), the single
    source of the "what this export covers and omits" text so bundle, HTML, and PDF cannot drift.
  • packet.py: emit a machine-readable scope.statement + scope.exclusions alongside the
    existing scope object in bundle.json, and lead the disclosures list with the scope lines
    (issue-scoped exports already excluded other issues' captures and timeline).
  • htmlpacket.py / pdf.py: render the scope block, localized, with the disclosures.
  • docs: add scope.statement/exclusions to packet-bundle.schema.json and bundle-schema.md;
    new docs/legal/minimal-disclosure.md (what a packet contains/omits, why minimal, responding
    to over-broad discovery), linked from legal/README.md and foundation-guidance.md's Discovery
    caution; mark R-35 done in the research roadmap + execution log.
  • tests: assert issue-scoped export excludes other issues' items AND timeline, that the scope
    statement rides in bundle scope, disclosures, and packet.html (EN + ES), a since-cutoff
    exclusion is stated, and a freshly scoped packet still verifies end-to-end.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com


Backfill PR for a completed roadmap item (roadmap/minimal-disclosure-export-scoping-r-35-10, 1 commit(s) over main). Part of the portfolio roadmap batch.

claude added 2 commits July 2, 2026 18:06
…very packet (R-35)

Make each exported packet self-documenting about its minimal-disclosure scope so a
scoped production meets an over-broad discovery demand with an explicit, on-the-record
boundary rather than a data dump.

- disclosure.py: new localized ScopeStatement / scope_statement() (EN + ES), the single
  source of the "what this export covers and omits" text so bundle, HTML, and PDF cannot drift.
- packet.py: emit a machine-readable scope.statement + scope.exclusions alongside the
  existing scope object in bundle.json, and lead the disclosures list with the scope lines
  (issue-scoped exports already excluded other issues' captures and timeline).
- htmlpacket.py / pdf.py: render the scope block, localized, with the disclosures.
- docs: add scope.statement/exclusions to packet-bundle.schema.json and bundle-schema.md;
  new docs/legal/minimal-disclosure.md (what a packet contains/omits, why minimal, responding
  to over-broad discovery), linked from legal/README.md and foundation-guidance.md's Discovery
  caution; mark R-35 done in the research roadmap + execution log.
- tests: assert issue-scoped export excludes other issues' items AND timeline, that the scope
  statement rides in bundle scope, disclosures, and packet.html (EN + ES), a since-cutoff
  exclusion is stated, and a freshly scoped packet still verifies end-to-end.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…-35)

scope_statement() always appended the "vault contents outside this scope
... are not exported" line, even for scope_type="unit" with no since
bound — the case where the whole vault is included and nothing is
actually excluded. That made the minimal-disclosure scope block
misleading for a universal export.

Only append the "outside this scope" exclusion when the scope is
actually partial: a single-issue scope, or a since-bounded scope. A
whole-unit export with no since filter now renders no exclusions.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants