Skip to content

WS1 — The pack interface: one manifest per domain, score as a field of a pack #369

Description

@aarontrowbridge

WS1 — The pack interface: one manifest per domain, score as a field of a pack

Important

Problem — Domain knowledge today loads through the score machinery alone: a score's stages compile into the runtime instructions, and there is no declared unit bundling skills + templates + corrector + catalog + eval corpus. The autoresearch reframe (parent #368) needs a single harness-agnostic seam that every domain pack implements.

Approach — Introduce the pack manifest as the unit of generality, owned by the schema package with one validator consumed by the extension, the CLI, and CI. The loader/compiler treats the onboarding score as one field of a pack. No physics content moves in this slice — the pulse repertoire is re-expressed as a pack manifest, byte-identical in output.

Scope — in: manifest schema, validator, loader refactor, golden compiled-output parity · out: the instruction rewrite (WS2), new packs (WS3), runtime pack switching (follow-up).

Acceptance Criteria

  • A pack manifest schema exists (skills, template registry, corrector with integrity manifest, catalog schema, onboarding score, eval corpus pointer) with one shared validator
  • The extension loads the existing pulse-designer repertoire through a pack manifest with byte-identical compiled output against today's golden
  • A second pack can be registered by manifest alone — no loader code change
  • Boot-time selection behaves exactly as today for the default pack

Testing Decisions

Extend the existing score-loader unit tests with manifest fixtures; add a schema round-trip in the schema package's suite; add a golden compiled-output parity test (new loader vs current output). This is the TDD spec — the parity test goes red first.

Key Decisions

  • A score is one field of a pack, not a peer of it.
  • The manifest names the corrector and its integrity manifest explicitly — the threshold condition is a load-time property, not a convention.
  • Boot-time selection stays in v1; router-time recompilation is explicitly deferred.

Constraints & Invariants

  • No file outside the loader/compiler seam changes behavior; the corrector paths a manifest names must live outside agent-editable trees.

Prior Art

  • The score loader/compiler and entitlement filter (extension session-prep); the schema package's single-validator pattern.

Source

Part of #368 · design-of-record: vault spec note spec-20260813-162300-autoresearch-studio

Metadata

Metadata

Assignees

No one assigned

    Labels

    afkImplement + merge unattended — tests decide green

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions