fix(skills): re-sync ingest/onboard prompts to BUSINESS_OBJECT - #503
Merged
Conversation
Every ingest and onboard extraction prompt still instructed agents to emit the retired INFORMATION_ENTITY TYPE, so a first-pass extraction over any business-information concept failed BOBJ-D001 validation and had to be renamed by hand. The TYPE was promoted/renamed to BUSINESS_OBJECT in the 2026-06-08 ADR; the prompts were never re-synced. Also corrects skills/ingest/SKILL.md's §1 promotion-rule note, which still listed INFORMATION_ENTITY as view-defined/contained — that status was reversed by the same ADR. Closes transitrix-hq#217 (items 1-2; item 3, the alias-window warning-vs-hard-error contract call, is parked separately per the issue's splitting guidance).
transitrix
added a commit
that referenced
this pull request
Sep 2, 2026
…#517, epic #503 slice 1/2) Extends the existing freshness-decay mechanism (CONTRACT §11.3) and FRESHNESS-001 rule (§11.7) to cover knowledge objects in addition to canonical elements: Changes: - CONTRACT.md §11.3: Documented freshness anchoring for knowledge objects - Canonical elements anchor on admitted_at (existing behavior) - Knowledge objects anchor on timestamp (new) - Single default threshold pair for knowledge objects (no per-TYPE tables) - Configuration example added showing knowledge: sub-key in confidence_decay - CONTRACT.md §11.7: Extended FRESHNESS-001 rule - Covers both canonical elements (age_days >= stale_days for their TYPE) - And knowledge objects (age_days >= stale_days for knowledge threshold) - Cure differs: re-admission for canon, re-curation for knowledge objects - Advisory only (never blocks, mutates, or filters) - MANIFEST.md: Updated confidence_decay documentation and example - Added optional knowledge: configuration sub-map - Clarified per-TYPE thresholds for canon, single threshold for knowledge - When knowledge: absent, defaults apply Acceptance criteria met: - Validator pass over stale knowledge objects names them (FRESHNESS-001) - Store with no stale objects stays silent (negative case) - Neither pass writes files (advisory only) - Additive only; existing repositories validate unchanged Not yet implemented in validator (that's a runner concern); spec establishes the contract. Paired with task #518 (supersession); together close epic #503 Part 1-2. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> Signed-off-by: transitrix <automation@transitrix.com>
This was referenced Sep 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Every ingest and onboard extraction prompt still told agents to emit the retired
INFORMATION_ENTITYTYPE (renamed toBUSINESS_OBJECTby the 2026-06-08 ADR). A first-pass extraction over any business-information concept failedBOBJ-D001validation and had to be renamed by hand.transitrix/skills/ingest/prompts/03_application.md— front-matterextracts:, the "what to extract" table, the anti-goals note.transitrix/skills/ingest/prompts/README.md— layer/TYPE table.transitrix/skills/ingest/SKILL.md§1 promotion rule — no longer listsINFORMATION_ENTITYasview-defined/contained(that status was reversed by the same ADR).transitrix/skills/onboard/extraction/03_application.md— extraction target, worked example (renamed toBUSINESS_OBJECT-CUSTOMER-MASTER-RECORD-1), "only these TYPEs are valid output" note.transitrix/skills/onboard/extraction/README.md— extraction-targets table.transitrix/skills/onboard/SKILL.md,transitrix/skills/onboard/templates/AGENTS.md— TYPE-format examples.transitrix/skills/onboard/templates/process-blueprint.process-blueprint.transitrix.yaml— template field renamedinformation_entities:→business_objects:, idINFORMATION_ENTITY-FILL-ME-1→BUSINESS_OBJECT-FILL-ME-1.Scope: items 1-2 of THQ-217 only, per the issue owner's splitting guidance ("mechanical, land them without waiting on item 3"). Item 3 — whether
BOBJ-D001is the still-open warning or the hard error the 1.0.0 CHANGELOG announced — is a contract call, parked as a separate issue.Left untouched (deliberately historical):
CHANGELOG.md,migrations/0.7-to-1.0/**, theBOBJ-D001rule row anddeprecated_element_types.INFORMATION_ENTITYregistration innotations/vocabulary.yaml.Also noticed but out of scope:
skills/ingest/SKILL.md's same promotion-rule line still listsEQUIPMENTas view-defined, which the identical 2026-06-08 ADR also promoted to standalone (ELEMENT_PRIMITIVES.mdELEM-004). Not fixed here since THQ-217 only flagged theINFORMATION_ENTITYhalf.Test plan
grep -rn INFORMATION_ENTITY transitrix/skills/returns no matchesnode scripts/check-notations.mjs— clean (pre-existing SIZE1 warnings only, unrelated)