Skip to content

Mission F0: Factory current-state closure v0.1 — repin to afi-config@9497afc, canonical v1.3.0 official composition, residue scrub - #10

Merged
Gio2050 merged 4 commits into
mainfrom
mission/factory-current-state-closure-v0.1
Jul 19, 2026
Merged

Mission F0: Factory current-state closure v0.1 — repin to afi-config@9497afc, canonical v1.3.0 official composition, residue scrub#10
Gio2050 merged 4 commits into
mainfrom
mission/factory-current-state-closure-v0.1

Conversation

@Gio2050

@Gio2050 Gio2050 commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Mission F0 — Factory current-state closure v0.1

Owner-authorized cleanup: afi-factory now reflects ONLY the current canonical AFI architecture (Evidence V3 era, five-lane provider runtime), ahead of Mission Atlas-0.

Pin movement

  • Old pin: faa6a8a3d387a573c24f0421c02d806044a22d9e (MANIFEST/CI/drift test) with stale f91ce4465b9c… references still active in README, .afi-codex.json, src/schemas.ts, operator onboarding, and the official hashes.json — two parallel stale pins.
  • New pin: 9497afc24bf380b21701bee453c13ebdf8881a26 (afi-config main, EV3-GOV) — ONE pin everywhere: closure MANIFEST, drift test, CI checkout, official hashes.json, README, codex; guarded by tests/current-state-residue.test.ts (full-length and shorthand pin scans).

Vendored closure delta

  • Re-vendored the two files EV3-GOV touched: pipeline.schema.json and composition-ref.schema.json — their governance citations now name afi.scored-signal-evidence.v3 as the current evidence contract. Other eight files byte-unchanged; MANIFEST sha256 pins refreshed; src/generated/ unchanged (codegen embeds descriptions, not $comment citations).
  • Byte-verification: all 10 vendored files byte-compared against afi-config@9497afc (local cmp + the drift test's byte-equality pass with AFI_CONFIG_DIR; CI checks out the pinned commit and re-verifies on every run).

Official composition refresh (stale pipeline snapshot deleted)

  • Deleted templates/official/froggy-trend-pullback/ — the retired v1.0.0 composition (post-merge aiMl augmentation, degrade lanes, 1.0.0 plugins, retired provider/secret capability claims, old hashes b8d9b734…/269ae355…/6d54c8b7…). FLPR-GOV D-FLPR-6 removed pipeline v1.0.0 from the canonical registry; Factory still taught it as current.
  • Added official/froggy-trend-pullback/: byte-identical copies of the canonical afi-config@9497afc registry records — registered manifest froggy-trend-pullback v1.3.0 (five provider-instance-backed fail-fast lanes, EV3-GOV D-EV3-5(1)), canonical analyst-strategy config, the seven bound plugin records (2.0.0 lanes / merge 1.1.0 / scorer 1.0.0) — plus hashes.json re-pinned to the canonical composition hashes:
    • manifestHash df3372da… (= canonical config pin), analystConfigHash e34471de… (= canonical registration), pluginSetHash 5384e1c0… (= runtime composition provenance).
  • Because provider selection is authored at the manifest layer and afi.pipeline-template.v1 parameterizes values only, the official provider-backed composition is not template-produced; no template claims official identity (guarded). Template authoring remains a fully tested engine capability (self-contained proof template + init scaffold flow).
  • Operations layer follows the assets: factory.templates.listfactory.official.list (canonical identity + hash pins in the listing); factory.plugins.list reads the official plugin records. 14 operations, registry-projection invariant unchanged.

Deleted residue (verified, no archive copies)

Stale V2 citation wording (via re-vendor), the v1.0.0 template family (11 files), both stale pins from all current-facing text, stale conformance-fixture plugin identities, stale operator-onboarding secret-profile example, stale README official-template section, stale src/schemas.ts pin comment, stale test fixture templates/official path. No compatibility aliases, no archive directories, no migration notes.

Guards added

tests/current-state-residue.test.ts: one canonical pin everywhere (40-hex + afi-config@<sha> shorthand scans); no scored-signal-evidence.v1/v2 / EvidenceV1/2 / evidence.v1/2 identifiers in Factory-authored text; no Pipehead / generic-DAG / social-category returns; dependency set exactly ajv/ajv-formats/commander and no recordHash/replayHash/providerInvocations/store tokens in src/; templates/ may not return; official dirs must carry manifest+config+hashes+plugins and never a template. tests/official-artifacts.test.ts now byte-compares every official artifact against AFI_CONFIG_DIR (CI always provides it) and pins the canonical hash literals.

Test proof

  • npm run typecheck — clean. npm run build — clean (pretest).
  • AFI_CONFIG_DIR=<afi-config@9497afc> npm test207 passed, 0 failed, 0 skipped (18 files), including the governed-schema drift guard's byte-equality pass, hashing KATs, official-artifact byte-identity + canonical hash pins, and the new residue guards.
  • Adversarial review: 6 independent verification lenses + refutation pass over the diff; all 3 confirmed in-repo findings fixed in 6ae891b (stale f91ce446 comment, stale fixture path, shorthand-pin guard gap).

Boundary + scope confirmations

  • Factory builds no evidence records, computes no recordHash/replayHash, persists nothing, executes no providers/graph/scoring/UWR — boundary proven by source scan + guard test.
  • No runtime behavior outside Factory changed; no other repository modified; nothing deployed; Atlas-0 not started.
  • Known follow-up (afi-docs, out of this mission's write scope by design): AFI_Full_Architecture.md:144 enumerates factory.templates.list in the Factory operation roster; the current name is factory.official.list.

🤖 Generated with Claude Code

Gio2050 and others added 3 commits July 19, 2026 14:56
The two files EV3-GOV touched in Factory's closure — pipeline.schema.json and
composition-ref.schema.json governance citations now name
afi.scored-signal-evidence.v3 as the current evidence contract — are
re-vendored byte-identically; MANIFEST sha256 pins, the drift-test pin, and
the CI checkout ref all move to the same commit. src/generated is unchanged
(codegen embeds descriptions, not $comment citations).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…actory residue (Mission F0)

The official artifacts are now BYTE-IDENTICAL copies of the canonical
afi-config@9497afc registry records — the registered froggy-trend-pullback
v1.3.0 manifest (five provider-instance-backed fail-fast lanes, EV3-GOV
D-EV3-5(1)), the canonical analyst-strategy config, and the seven bound
plugin records — moved from templates/official/ to official/ with hashes.json
re-pinned to the canonical composition hash values.

Because provider selection is authored at the manifest layer and
afi.pipeline-template.v1 parameterizes values only, the retired v1.0.0
template family (post-merge aiMl augmentation, degrade lanes, 1.0.0 plugins,
retired provider/secret capability claims) is deleted, not archived. The
bundled-assets operation surface follows: factory.templates.list is replaced
by factory.official.list; factory.plugins.list reads the official plugin
records. Conformance fixtures re-bind the canonical plugin identities.
Docs (README, AGENTS, codex, operator onboarding) describe only the current
five-lane provider runtime, and tests/current-state-residue.test.ts guards
the single canonical pin, byte-identity, superseded-identifier absence, and
Factory's no-evidence-authority boundary.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- src/schemas.ts header no longer hardcodes a (stale) afi-config pin; it
  defers to MANIFEST.json + the drift test.
- the registration fixture's configRef models the canonical afi-config
  registries path instead of the deleted templates/official/ location.
- the residue guard now also trips on shorthand afi-config@<sha> pins that
  are not a prefix of the canonical pin (the gap that let f91ce446 survive).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@cursor

cursor Bot commented Jul 19, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

…cans

The residue guard scans Factory-authored text only; ci.yml checks the pinned
canonical afi-config out at _afi-config inside the workspace, and canonical
bytes (Pipehead governance history, example hashes) are not Factory residue.
Verified locally by reproducing the CI layout with a decoy _afi-config.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Gio2050
Gio2050 merged commit f80babc into main Jul 19, 2026
1 of 2 checks passed
@Gio2050
Gio2050 deleted the mission/factory-current-state-closure-v0.1 branch July 19, 2026 19:14
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