Before you begin
- Your ontology has a published release. Knowledge records appears under Data only once a release exists.
- The release includes an object type for the records. For the retail example, add a
Return policyobject type withpolicy_code(Text, identifier),region(Text) andreturn_window_days(Whole number, unitdays), then publish. Adding a type is a compatible change, so Studio suggests1.1.0.
1
Create a record
- Open Knowledge records and choose New record.
- In New governed record, choose the Released logical type Return policy. Studio locks the record to that release and type version, so its meaning can’t drift.
- Enter a Name such as
EU returns 2026, then fill in the Governed values:policy_codeEU-RET,regionEU,return_window_days30. - Set Effective from to the date the policy starts. Leave Effective until empty while it remains in force.
- Keep Lifecycle on Active, then choose Create record.
2
Change a policy without rewriting history
When the EU return window changes from 30 to 14 days on 1 July:
- Select the record and choose Change validity.
- Choose Replace, set Change takes effect to 1 July, and enter the Replacement values.
- Choose Create successor.
3
Publish the record set
- Choose Publish record set….
- Enter a Semantic version such as
1.0.0and choose Publish.
POST /ontology/v1/record-set-releases with the record_set_id, the new release, and optionally the base_release_id you expect to replace.4
Query records as of a date
In Knowledge records, set Valid as of to the business date you care about and filter by Record type, Lifecycle or Search records. Switch between Working records and Current release to compare drafts with what is published.Agents open a session with To read a frozen record-set release instead of current record versions, call
mcp__initialise, then call extension__ontology__get_records. Replace the example ontology and session IDs with your values:POST /ontology/v1/record-queries with both record_set_id and record_set_release_id.How valid time works
Each record has a business-valid period, separate from when it was saved. The period includes Effective from and excludes Effective until, so a record is returned foras_of when:
effective_fromis at or beforeas_of, andeffective_to(Effective until) is empty or afteras_of.
A text search inspects at most 5,000 candidate records. When it stops early, the response sets
scan_truncated: true, and Studio says the results aren’t a complete inventory. Narrow the type or term and search again.
A record can also cite exact versions of supporting documents. A released record keeps citing the version it was published with, even after the document changes. Pass include_knowledge_references: true to return those citations.
Publication rules and limits
Publishing a record set is refused when:
A superseded or retired record must have an Effective until.
Verify
- Knowledge records shows the record set’s Current release with its version and Release checksum.
- With Valid as of before 1 July, the 30-day policy is listed; after 1 July, the 14-day successor is.
extension__ontology__get_recordswith the sameas_ofreturns the same records.
Related
- Ontology concepts: records, record sets and releases.
- Read governed records: the MCP tool’s inputs and response.
- Use Ontology with agents: where records fit in an agent’s flow.