Skip to content

Issue #12: capture metadata-only provider identity fixtures - #23

Draft
mark-e-deyoung wants to merge 6 commits into
docs/mvp-control-realignmentfrom
impl/issue-12-provider-fixtures
Draft

Issue #12: capture metadata-only provider identity fixtures#23
mark-e-deyoung wants to merge 6 commits into
docs/mvp-control-realignmentfrom
impl/issue-12-provider-fixtures

Conversation

@mark-e-deyoung

@mark-e-deyoung mark-e-deyoung commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Purpose

Advance issue #12 in parallel with the desktop-ui-cv Increment 0 agent, using real provider observations and refusing to fabricate missing evidence.

This is a stacked draft PR on top of #22 (docs/mvp-control-realignment) so the implementation is reviewed under the corrected Foundry control contract. Retarget to main after #22 is merged.

Included

  • read-only, unauthenticated metadata capture for Hugging Face, Civitai, and a future exact OpenRouter model;
  • purpose-limited public projections: retain only fields needed for identity/lifecycle/access rather than committing entire provider responses;
  • recursive secret-key/value refusal and atomic JSON/provenance writes;
  • offline validator rejecting secrets and model/checkpoint/archive bytes under fixtures/raw;
  • genuine sanitized Ollama /api/tags-style evidence from authorized private local inventory;
  • reviewed Hugging Face KV-Ground observations for both current main and exact corrected-weight revision;
  • reviewed Civitai positive identity evidence plus a preserved disappearance observation for a real legacy dependency;
  • 10 deterministic offline fixture tests;
  • unprivileged public capture workflow with contents: read, no provider secrets, exact-SHA-pinned third-party actions, and artifact-only review output;
  • documentation of evidence, boundaries, and incomplete gates.

Verified evidence

Hugging Face

For vocaela/KV-Ground-8B-BaseGuiOwl1.5-0315:

  • corrected-weight revision: fe7563292bb52ab6c235fc3c87157e6a14017479;
  • current main at capture: a3c224bdd97ed6de15baef3524eb590c480e0d78;
  • all four safetensor LFS SHA-256 identities are identical;
  • tested config/tokenizer payload entries are identical;
  • README.md is the only captured sibling with changed blob identity/size.

This mechanically demonstrates: source revision drift is not automatically payload drift.

Civitai

Real TrueNAS dependency 131508 now returns HTTP 404; this is preserved as lifecycle/disappearance evidence.

Real TrueNAS dependency 128713 resolves as DreamShaper 8 / model ID 4384 / AIR urn:air:sd1:checkpoint:civitai:4384@128713, with primary dreamshaper_8.safetensors SHA-256 879DB523C30D3B9017143D56705015E15A2CB5628762C11D086FED9538ABD7FD.

The legacy project filename for 128713 suggested another model, reinforcing that project/local filenames are not canonical identity when provider version/file evidence exists.

Ollama

Committed sanitized tags-style observation for kv-ground-8b:latest with provider-native digest fa1d74b1cd05750f3d17025f35f70272b883cf09757d771488be5cba103f7b37, GGUF/Q4_K_M/8.2B/context metadata. A genuine /api/show response is still missing.

Verification

Exact fixture/test commit: d24d7d7c8e0e65951cf9e42133d7e8709e509a95.

Public workflow run 33476102380: PASS. It captured the live public evidence and passed the 10-test offline contract plus the fixture safety validator.

Current PR head may include documentation-only commits after that tested implementation head; do not claim those alter runtime behavior.

Explicitly incomplete / next evidence gates

Do not close #12 from this PR alone. Still required:

  1. genuine sanitized Ollama /api/show response from an authorized local observer;
  2. one exact hosted-provider model observation once a real OpenRouter (or deliberately revised hosted-provider) dependency is actually selected;
  3. final acceptance review over all four proof classes.

The agent-dispatch-private experiment branch currently records only a future choice between openrouter-pinned and Cloudflare Workers AI, not an exact OpenRouter model ID. Choosing an arbitrary model merely to fill the fixture matrix is out of scope.

No model/checkpoint bytes, provider credentials, normalized observation schema, drift engine, scheduler, database, catalog UI, or acquisition implementation are introduced here.

Related: #9, #11, #12, #15, #18, #19, #22.

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