Skip to content

Export protocol v1.1 (the exit door) + partner-name scrub - #1

Draft
RegardsKiki2 wants to merge 1 commit into
mainfrom
claude/bevia-protocol-security-review-jsbvgu
Draft

Export protocol v1.1 (the exit door) + partner-name scrub#1
RegardsKiki2 wants to merge 1 commit into
mainfrom
claude/bevia-protocol-security-review-jsbvgu

Conversation

@RegardsKiki2

Copy link
Copy Markdown
Contributor

What this adds

The exit half of the protocol. SPEC.md §7 deferred the export-format spec to v1.1; this PR ships it:

  • SPEC-EXPORT.md — the public contract for building a consumer (any tool that reads what an engine has come to understand):
    • Export records with four additive kinds: evidence (the round-trip of intake), territory, connection, reading. Consumers skip unknown kinds, never fail.
    • Drop-file convention*.bevia-export.jsonl, one record per line, atomic writes, dedupe by stable id. The mirror of the intake drop-file.
    • Pull convention — consumer-initiated HTTP GET with a user-created, user-revocable bearer key; engines may 429 with Retry-After; an engine never pushes to a destination the user didn't configure.
    • Behavioral guarantees — everything traces back to evidence, stable identity, event time honored, no verdicts (never scores or judgments about a person), export never sold separately, location round-trips.
  • schema/export-record.schema.json + a matching JSONL example, validated line-by-line in CI.
  • README reframed around both doors: capture in, records out.

Like the capture spec, this describes only the doors — nothing about how captures become understanding.

Partner-name scrub

Private partner and product names removed everywhere they appeared (reference/README.md, SPEC.md, both schemas, the robot example) and replaced with generic equivalents. The publish-guard workflow now includes those names in its forbidden-pattern scan so they cannot re-enter the repo.

Verification

  • Forbidden-content scan run locally against the updated pattern list: clean.
  • All three capture examples and all five export-example lines validate against their schemas with ajv (same commands CI runs).

🤖 Generated with Claude Code

https://claude.ai/code/session_011dJA2L84s2PxJkAx87L9eZ


Generated by Claude Code

- SPEC-EXPORT.md: export records (evidence/territory/connection/reading),
  drop-file convention (*.bevia-export.jsonl), pull convention, and
  behavioral guarantees (provenance always carried, stable ids, event
  time, no verdicts, export never sold separately, pull-not-push).
- schema/export-record.schema.json + a matching JSONL example, validated
  in CI line-by-line.
- Genericize partner/product names across SPEC.md, schemas, examples,
  and reference/README.md; add them to the publish-guard forbidden
  patterns so they cannot re-enter.
- README reframed around both doors: capture in, records out.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011dJA2L84s2PxJkAx87L9eZ
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