Harness Intelligence Wiki
Grilling

Registry Baseline Grill Status

Registry Baseline Grill Status

Scope and authority

Replace the manifest-driven hi scaffold, hi update, and hi check flow with a registry-based Baseline: registry publication, a hi installer, Project settings plus an installed record, a three-way Drift check, Harness adapters for subagents, and the fix for issue #232 in the same release.

Inputs:

Out of scope: implementation order, task breakdown, backlog projection, hi report, and the backoffice.

Current Round

  • Round: R2 closed; frontier empty; grill closed on 2026-09-27
  • Current frontier: empty
  • Shared-understanding confirmation: confirmed (user: "agree with this", then invoked create-architecture)
  • Branch completion: 100% for every active branch. This is requirements closure, not implementation progress.
  • Glossary promoted to Registry Baseline Glossary.
  • R2 closed on 2026-09-27: Q33 and Q35 as recommended; Q34 reversed (the Baseline skill wins, the Project Skill is renamed [DEPRECATED] <name> and reported).
  • Domain-modeling consistency pass: complete against the glossary below; the Project Skill axiom was amended for Q34.
  • R1 closed on 2026-09-27: all recommendations accepted except Q19 (no credentials; registry stays public, supersedes Q11), Q27 (report failed symlinks, no copy fallback), Q30 (no hi add), Q31 (pre-existing skills are moved into .agents/skills as Project Skills instead of archived).
Question idPrerequisitesQuestionState
Q1noneWhat distributes the Baseline?answered
Q2Q1How does the Drift check separate a local edit from a shape change?answered
Q3Q1Who produces the per-harness subagent files?answered
Q4Q1Own installer or shadcn dependency?answered
Q5noneWhen is issue #232 fixed?answered
Q6Q1What does the session-start hook check?answered
Q7noneAnti-slop default and file placement?answered
Q8Q1Where is the registry hosted?answered
Q9Q1, Q2Prompt specs, handoff, system prompt: tracked or on demand?answered
Q10Q1Keep a bundled offline Baseline?answered
Q11Q1, Q8Does the registry require credentials?answered
Q12Q3When are subagent files rebuilt?answered
Q13Q1What happens to a devDependency no lint asset requires?answered
Q14Q1What identifies a registry version?answered
Q15Q1, Q14Is there one latest pointer or a promotion step?answered
Q16Q1, Q15What builds and publishes the registry, and which changelog selects it?answered
Q17Q14Does a registry version declare a compatible CLI range?answered
Q18Q1Does the catalog carry a per-item content hash for cache integrity?answered
Q19Q11Which credential mechanism does the registry use? (none; supersedes Q11)answered
Q20Q2Is local state two files, one writer each?answered
Q21Q20What does the edit hook do when the Installed Record is missing?answered
Q22Q1Are selected Packs explicit in settings, with detection as proposal only?answered
Q23Q1What is the apply order?answered
Q24Q1What does a non-interactive update do on a Copied Artifact conflict?answered
Q25Q1How are text files compared?answered
Q26Q13What guard applies before removing a stale devDependency?answered
Q27Q4What happens when a symlink cannot be created? (report, no copy)answered
Q28Q5Does the Commit Gate keep the full-owner expansion on config change?answered
Q29Q3Is the harness set fixed at Claude, Codex, Cursor, OpenCode?answered
Q30Q1Which commands remain? (init, update, diff, check; no add)answered
Q31Q1What happens to the archives and pre-existing skills?answered
Q32Q1Which canonical terms are added and which are retired?answered
Q33Q20, Q31How does an existing manifest-based repository migrate?answered
Q34Q31What happens when a Registry Item later provides a skill with a Project Skill's id?answered
Q35Q22, Q30Can settings select individual Registry Items outside Packs?answered

Branch Dashboard

BranchCompletionLocked directionStill open
A. Registry as Baseline distributor100%Public registry, one latest pointer, date-sha versions, CLI range, catalog sha256; hosted with HI API on Vercel; published by the release workflow under BASELINE_CHANGELOG.mdnone
B. Access and credentials100%No credentials; registry is public (Q19 supersedes Q11)none
C. Consumer state100%settings.json (intent) + installed.json (installer); explicit Packs only; missing record never blocksnone
D. Update, diff, check100%Plan, validate, apply, record last; overwrite Copied Artifacts with --yes; normalized text compare; import guard before dependency removal; failed symlinks reportednone
E. Managed lint and issue #232100%Fixed in the registry release; anti-slop per package; full-owner expansion kept via stdinnone
F. Harness adapters100%CLI builds once, wraps per harness; fixed set of four; rebuilt by update and diffnone
G. Command surface and Project Skills100%init, update, diff, check; archives retired; Project Skills kept, renamed [DEPRECATED] <name> on id collisionnone
H. Glossary100%Terms added and retired per Q32; Project Skill added (Q32a), axiom amended (Q34)none; promoted
Migration of existing repositories100%One-run migration inside the first registry-based hi updatenone

Technical Grounding

BranchEvidence anchorsApplicable dimensionsOpen technical decisionsGrounding
Aapps/cli/src/baseline/resolve.ts:512-580; packages/contract/src/baseline.ts:289-303; apps/cli/scripts/publish-baseline.mjs; apps/cli/scripts/classify-release-impact.mjs; .github/workflows/release.ymltopology (publisher, host, consumer), persistence (immutable versions), boundary (release classification)Q14 to Q18grounded
Bapps/cli/src/control-plane/client.ts:53-60; apps/api/src/baseline-registry.ts:127-161; packages/auth (better-auth in apps/api)dependency direction (who holds the credential), boundary (CLI vs API)Q19grounded
C.agents/hooks/format-edited-file.mjs:374-393; apps/cli/src/features/project-settings/service.ts:464-530; apps/cli/src/update/run.ts:818-827 (pack drift); apps/cli/src/scaffold/gitignore.ts:10-27persistence (two files), ownership (one writer), lifecycle (missing record)Q20 to Q22grounded
Dshadcn update-files.ts:144-260, dry-run.ts:36-44; apps/cli/src/update/run.ts:6417-6456 (pending marker), 6473-6550 (apply order); apps/cli/src/integrations/scaffold-content-hasher.ts:5-15seams (plan/apply), boundary (record last), idempotency, comparison policyQ23 to Q27grounded
Eapps/cli/src/data/scripts/managed-lint-runner.mjs:225-230; commit-gate-runner.mjs:32-36,59-62,163-238transport (buffers, argv), lifecycle (config change trigger)Q28grounded
F.claude/agents/*, .codex/agents/*.toml, .cursor/agents/*, .opencode/agents/*; .agents/scripts/sync-subagents.mjs; .agents/subagents/manifest.mjsmodule shape (adapter per harness), topology (fixed set)Q29grounded
Gapps/cli/src/cli/{scaffold,update,check,ensure,tools,skills,upgrade,commit-gate}-command.ts; .devpunks/replaced-scaffold, replaced-skills, pre-existing-skillsboundary (command surface), lifecycle (archives)Q30, Q31grounded

Parked Branches

  • Selectable harness set per repository (Q29). Resume trigger: a repository that must exclude one harness.
  • Single Registry Item selection outside Packs (Q35). Resume trigger: a real request for one skill that no Pack contains.
  • Concurrent hi update runs in one worktree: not observed in the issue history; non-material.

Glossary

Working persistence for domain-modeling during this grill. Terms from existing glossaries are kept unless listed under retired.

Terms

  • Registry: The published, versioned set of Registry Items that is the only Baseline distributor and the source for drift management. Avoid: baseline artifact, release asset, control plane
  • Registry Item: One named, typed bundle of files and metadata in the Registry, in the shadcn registry-item format. Avoid: component, asset (when meaning a whole item)
  • Baseline: One immutable Registry version. Avoid: stable channel, bundled channel
  • Installed Record: The installer-written file that records the installed Baseline version, the Recorded Shape, and the item-to-path map. Avoid: manifest, receipt, lockfile
  • Recorded Shape: The repository shape captured at install time: workspace paths, Pack ids, detected technologies. Avoid: context plan, detection result
  • Copied Artifact: A Managed Artifact written verbatim from a Registry Item. Avoid: tier 1, static file
  • Built Artifact: A Managed Artifact rendered from a Registry Item template, Project settings, and the Recorded Shape. Avoid: tier 2, generated file
  • Authored Artifact: A repository-owned file that the installer writes once when absent and never compares afterwards. Avoid: tier 3, scaffold-once file
  • Harness Adapter: Installer code that wraps one built subagent body in one harness's envelope. Kept from the CLI context architecture glossary.
  • Drift Check: The three-way comparison of local bytes, the installed Baseline, and the latest Baseline. Kept from the CLI update enforcement glossary with the new meaning. Classes: update-available, local-edit, conflict, shape-drift, missing, stale, link-failed.
  • Project Skill: A skill under .agents/skills/<id> that no Registry Item provides; it is an Authored Artifact. Avoid: pre-existing skill, local skill, replaced skill

Relationships

  • A Registry contains one or more Baselines; a Baseline contains one or more Registry Items.
  • A Pack selects one or more Registry Items through registry dependencies.
  • The Installed Record references exactly one Baseline.
  • Every Managed Artifact is exactly one of Copied Artifact, Built Artifact, or Authored Artifact.

Axioms

  • No content hash of a Managed Artifact is stored in the repository.
  • Each local state file has exactly one writer.
  • A Baseline is immutable; a correction is a new Baseline.
  • The Registry is the only Baseline source; there is no bundled fallback.
  • The Registry is public; the installer sends no credential.
  • The installer never removes, compares, or overwrites a Project Skill. On an id collision with a Registry Item, the Baseline skill wins and the Project Skill is renamed [DEPRECATED] <name> and reported.
  • A Pack is the only selection unit; detection proposes, it never selects.
  • Single Registry Item selection outside Packs is parked.

Retired (accepted in Q32)

  • Scaffold Manifest, Validation Candidate, Prepared Installation, Validation Result, Cache Entry, Context Plan (as a persisted file).

Flagged Ambiguities

  • "Login" was used by the user for the current Baseline access control. Code shows no CLI login; the API holds a server-side GitHub token. Resolution: Q19, no credential mechanism; the registry is public.
  • "Baseline" meant a tarball plus control-plane metadata; it now means one Registry version.
  • "Drift" meant a recorded hash mismatch; it now means one of the Drift Check classes.

On this page