8000 feat(schema): add literature-lineage, idea-attribution, and prior-art records · Issue #7 · Mnehmos/mathcorpus · GitHub
[go: up one dir, main page]

Skip to content

feat(schema): add literature-lineage, idea-attribution, and prior-art records #7

Closed

Description

@Mnehmos

Goal

Extend MathCorpus so formal correctness, source provenance, and intellectual lineage are separately auditable.

Packet-level source provenance is not enough for AI-assisted proofs. The corpus must record which papers, theorem statements, constructions, and proof strategies were available to the model, which were discovered only during post-hoc review, and how each relates to the final proof.

Scope

Add versioned MCIP-compatible child schemas for:

  • LiteratureSource
  • RetrievedPassage
  • ExternalClaim
  • IdeaAttribution
  • PriorArtMatch
  • CitationReview
  • ContributionStatement

Records should support:

  • bibliographic metadata and stable identifiers
  • source and passage hashes
  • model-visible versus post-hoc sources
  • links from sources to proof variants, proof-profile features, theorem dependencies, and research objects
  • attribution statuses such as directly_used, likely_influential, background_only, independent_rediscovery, uncertain, and not_used
  • reviewer confidence, notes, and conflicting reviews

Acceptance criteria

  • Literature lineage is represented as child evidence and never changes kernel-verification status.
  • Every attribution claim is bound to packet, statement, proof variant, and source hashes.
  • The schema distinguishes a source citation from a claim that the source influenced the proof.
  • Model-visible literature and post-hoc prior-art findings cannot be conflated.
  • Multiple or disputed attribution reviews can coexist without silently overwriting one another.
  • Public exports can redact passages while retaining citation metadata and hashes.
  • CDC is added as a fixture with prior Fano-flow work and the formal verification contribution identified separately.
  • Validation rejects dangling source, claim, proof, or packet references.

Activity

  1. Mnehmos commented on Jul 12, 2026

    @Mnehmos
    OwnerAuthor

    Implemented (local commit ae51810, stacked on 928b2be/ed2e1a7/b3bfa63/bcdb683/8c74201/7f1ac10 — not yet pushed, see notes on #1-#6).

    Important note on the fixture requirement first: the acceptance criteria name "CDC" with "prior Fano-flow work" as the fixture target. I searched this repo thoroughly (packets/, lean/, docs/, agents/) and neither "CDC" nor "Fano" appears anywhere — this doesn't correspond to any content in this corpus. Rather than fabricate that scenario, I substituted packets/frontier/formal_conjectures/union_closed_sharpness.v1.json — a real packet whose own pre-existing notes already document genuine literature provenance (a FormalConjectures Lean source, Wikipedia background, and a citation to Yu 2023's improved general-case bound as distinct prior art). If "CDC"/Fano-flow work exists in a different repo or is planned future content, this issue's fixture requirement should be re-scoped to that when it lands here — I didn't want to invent placeholder content that would misrepresent this corpus's actual state.

    7 new MCIP schemas (schema/mcip/v1/) beyond #1's original 10: LiteratureSource, RetrievedPassage, ExternalClaim, IdeaAttribution, PriorArtMatch, CitationReview, ContributionStatement. Matching packet-embedded shapes: idea_attributions[], prior_art_matches[], citation_reviews[], contribution_statements[].

    • Reusable, hash-pinned catalog: LiteratureSource/RetrievedPassage/ExternalClaim live in a new shared literature_sources/ catalog (same pattern as restriction_profiles/ from feat(schema): add proof profiles, restriction profiles, and proof variants #2) — a source cited by multiple packets is stored once. tools/stamp_literature_sources.py stamps record_hash.
    • Model-visible vs. post-hoc literature cannot be conflated: IdeaAttribution.visibility (model_visible/post_hoc) plus PriorArtMatch being a structurally distinct record type — no shared visibility field, since a prior-art match is post-hoc by construction — is the mechanism, not just a convention.
    • Every attribution claim binds to packet, statement, proof variant, and source hashes: formal_statement_sha256 + source_sha256_pin (hash-pins the catalog entry, exactly like proof_variants[].restriction_profile_sha256).
    • A citation is distinct from a claim of influence: ExternalClaim records what a source asserts; IdeaAttribution separately claims whether/how it influenced a proof.
    • Multiple/disputed reviews coexist: citation_reviews[] is an array; supersedes points backward to an earlier review it updates rather than editing history away.
    • Public exports can redact passages while retaining metadata/hashes: RetrievedPassage.passage_redacted + nullable passage_text alongside required passage_sha256; policy.check_literature_source_catalog rejects a redacted passage that still carries its text.
    • contribution_class vocabulary defined here (new_proof, independent_rediscovery, formalization, verification, reconstruction, adaptation, literature_derived_synthesis) for feat(policy): require contribution, citation, and novelty review for open-problem exports #8's publication policy to require.
    • Dangling references rejected: policy.check_literature_lineage (per-packet) + check_literature_source_refs (corpus-wide catalog resolution, stale hash-pin detection).

    Real, honestly-graded fixture: union_closed_sharpness.v1 gets 2 idea_attributions (the FormalConjectures source, directly_used/model_visible; Wikipedia, background_only), 1 prior_art_match (Yu 2023, related_technique — explicitly a different, narrower claim than this packet's sharpness-of-1/2 result, not a duplicate), 1 citation_review (endorsed, confidence 0.8), and 1 contribution_statement (contribution_class: "adaptation" — it's a transported/adapted proof, not a new_proof). The Yu 2023 catalog entry is explicitly marked bibliographically unverified (its title/author come from the packet's own pre-existing notes text, not an independently checked bibliography) — this corpus's honesty standard extends to not overclaiming citation precision, not just not overclaiming proof results.

    Cross-cutting fix found via testing: schema/mcip/v1/_defs.schema.json had an invalid envelope_required key — a plain array masquerading as a subschema, failing strict check_schema. Latent since #1, never triggered before because nothing previously validated every schema file in the registry including _defs.schema.json itself. Removed (zero references anywhere).

    10 failure modes smoke-tested directly. Full corpus (357 packets) + full CI-equivalent pipeline + issue #6 tooling (importer dry-run, backfill report) verified locally, 0 errors.

    Tracked in agents/github_issues/DONE.md, FEATURES.md, HANDOFF.md.

  2. added 2 commits that reference this issue on Jul 12, 2026
    ae51810
    61de03e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0