Skip to content

feat: publish repository-owned pointer pendants - #200

Merged
scbrown merged 15 commits into
mainfrom
wu/ro425e16-repository-pendant-20261020
Oct 23, 2026
Merged

scbrown merged 15 commits into
mainfrom
wu/ro425e16-repository-pendant-20261020

Conversation

@scbrown

@scbrown scbrown commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Bobbin currently has no repository-owned release pendant job. This adds a copied pointer-only builder/publisher and a hosted post-release verifier for the archive, checksum and provenance assets. The trusted host keeps publication policy private; default host dispatch still enables only Quipu.

The corpus includes source-bound idea/interface/decision/start-here summaries, freshness metadata, stored queries and validating shapes. It retains code/document pointers and excludes chunk text and line spans. The SSSOM/RDF carrier is explicitly empty because no approved Bobbin cross-repository mapping set was supplied; missing/corrupt inputs still refuse. No accepted identity mapping is fabricated.

Validation: nine knowledge/refusal controls (including actual native schema validation), six packaging/refusal controls, three RDF query controls, existing release-workflow contracts, actual native stored-query registration and actual label positive/absent lookup pass. A real private native index of the current README produced22 chunks, resolved its label and kept the absent pointer absent; this is bounded pointer coverage, not a full corpus build. HOME guard:157 watched paths+5 UID resources clean. Source compilation and whitespace checks pass. The refreshed README witness preserves current signing-key guidance.

Limits: full Bobbin native corpus build, model-recipe integration, actual public assets, fresh-load search quality and twelve-repository rollout remain unaccepted. The engine's manifest recipe/default rebuild work is separate. This source does not install a service, change credentials, enable runtime loading, or clear deployment holds.

Rollback: revert the scoped proposal to current b036433; the existing binary release and Quipu-only host behavior remain the baseline.

scbrown and others added 13 commits October 20, 2026 18:54
…aegis-ro425e.16)

Engines whose share usage advertises --alignments now receive the reviewed
physical carrier, and the builder refuses a manifest whose alignments_hash,
files.alignments member or copied bytes differ from it. Older engines keep
the existing inline empty carrier and never emit an undeclared member.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkdpDkAkbTvXvNbNacVpJb
The public-repository identifier guard refuses any /home/<account>/ path
outside its placeholder list. The private-summary negative only needs a
/home/ path, so a placeholder account keeps that refusal under test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkdpDkAkbTvXvNbNacVpJb
@scbrown

scbrown commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator Author

CHANGES — #200, exact 60733f1 / e3296e0.

P1: queries/repository-share-bobbin.rq omits the public publication-policy catalogue. The builder loads the catalogue then projects this query, and subsequently invokes verify-repository-share-receiver.py, which requires all four reviewed rules. Independent RDF control with the exact query: four rules in source -> zero in share; the README pointer positive survives. Add the bounded public policy branch, preserving private-policy exclusions, with catalogue-positive and secret/private negative controls.

P1: scripts/publish_repository_share.py:18-26 omits alignments.ttl from MEMBERS. The same proposal builder detects native --alignments support, carries/hash-verifies that file, but check_share/package and the hosted verifier reject it as unexpected. Independent paired control: old valid share passes; adding exactly the declared/hash-bound reviewed empty carrier passes builder.verify_carried_alignments but publisher.check_share raises unexpected or non-regular share member. Admit only the manifest-declared/hash-bound carrier end to end, retaining missing/corrupt/undeclared/symlink refusals.

Full18path proposal read; Tim two-witness refresh qualified. No heavy build, actual native corpus, upload, merge, install or runtime write. Green hosted five SUCCESS + conditional Pages skip independently confirmed. Controls are private synthetic source-level tests, not native corpus acceptance. Exact source preserved. Tim retains landing; same-feedback delta after fixes/fresh green.

The share query never projected the public publication-policy catalogue, so
the receiver verifier, which requires all four reviewed rules, could not
pass. Add a bounded branch for publication-policy rule IRIs with only their
label, regex and tier, leaving out any IRI the private release policy also
names, so a private pattern cannot ride along and the receiver fails closed.

The publisher's member allowlist rejected alignments.ttl, which a native
engine with --alignments carries and the builder already hash-verifies. Admit
it only when the manifest declares it and binds its exact bytes; an
undeclared, missing, altered or symlinked carrier still refuses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkdpDkAkbTvXvNbNacVpJb
@scbrown

scbrown commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator Author

SOURCE APPROVE — SAME feedback, exact 5eb7b22.

Both prior P1 findings are repaired. The public policy catalogue survives; native NOT EXISTS/GRAPH controls exclude private-only and shadowed rules, with explicit graph and repository-pointer positive controls. Native 0.16.0 clean 5fb93a0f was copied and hash-pinned before the private run. The old query omits the rules; removing the exclusion retains a shadowed public rule. Native default scope is ROOT, distinct from the RDF union fixture.

Declared/hash-bound alignments now pass packaging and hosted readback; missing, corrupt, undeclared and symlinked carriers still refuse. Four query and eleven publication controls pass. HOME157 paths +5 resources clean; no full corpus/build/upload/runtime claim.

Normal strict-base refusal is preserved. Current diff-bound T3 classification 319572475a4dbdb42f9745f730a1366e472ffa787212abea9494c7737a169ee5; accepted review 43f66d77bf04a4b9ecad28a0ea726d80d324e38f2b159d7b7672533f9b7ae393. Tim retains normal landing/current gates. Original CHANGES retained; this verdict supersedes those two findings only.

@scbrown
scbrown merged commit 66d2d62 into main Oct 23, 2026
6 checks passed
@scbrown
scbrown deleted the wu/ro425e16-repository-pendant-20261020 branch October 23, 2026 12:15
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.

1 participant