Textus BoK is the BoK-domain CAR for terminology and component-existence knowledge. It is independent from the generic Textus Semantic Integration Engine and uses that component only through its public component contract.
Component:
- artifact:
textus-bok - package:
org.simplemodeling.textus.bok - version:
0.1.0-SNAPSHOT
Component identity, Scala and Cozy runtime versions, and CAR library
dependencies are maintained in project.yaml. The sbt build-plugin coordinate
remains in project/plugins.sbt because sbt must resolve it before reading the
project model. Generate and verify the CAR with:
sbt --batch test cozyBuildCARCanonical script roles are:
scripts/prepare-development-runtime.shprepares complete development runtime evidence through SBT;scripts/test/run-server.shstarts a test/development server through the CNCF launcher; andscripts/run-server.shstarts the production/operator server through the Textus launcher.
Generated Scala sources are written under target/scala-3.3.8/src_managed/main/scala.
replaceKnowledgeSource reads logical metadata through the CNCF resource DSL
and replaces the complete source generation through SIE's generated
KnowledgeFederation component contract. The CAR ABI dependency and exact
development provided coordinate are declared separately in project.yaml,
so SIE API classes are available while compiling but are not duplicated in the
BoK CAR.
Typed matching remains inside Textus BoK. Exact knowledge is distinct from provider-backed candidates, and complete source generations remove stale records only after SIE confirms publication. MCP publishes ten bounded, read-only BoK operations, including existence-only component references and Knowledge Map. Source replacement is permanently excluded.
The component also provides the public, read-only getKnowledgeMap operation
and its Static Form view at /web/bok/textus-bok/map. Both project one bounded
selected generation with source evidence and an existence-only CBD handoff;
Knowledge Map is MCP-ready as a bounded, read-only projection; the browser
never performs source mutation.
To verify a real Cozy source locally, build it with Cozy 0.3.0-SNAPSHOT and run
scripts/test/run-bok-knowledge-map-sar.sh start with
TEXTUS_BOK_KNOWLEDGE_MAP_SOURCE_ROOT set to its generated website.d root.
Phase 7.4 also prepares one representative profile-selection SAR with official, development, and two distinct project keys. Its positive reads and cyclic foreign-term/foreign-node probes demonstrate selected generation, evidence, and project isolation without union or fallback; the prepared lifecycle is not claimed live-passed until the Phase release gate runs it. See the representative profile-selection verification.
Phase 8's managed development path is an explicit build → configure →
Control Center restart → MCP verify sequence. Prepare an accepted WIP snapshot
in a private temporary directory, then configure its generated website.d:
snapshot_root="$(mktemp -d /private/tmp/textus-bok-simplemodeling-wip.XXXXXX)"
scripts/test/prepare-simplemodeling-wip-snapshot.sh \
--version 1.0.56 \
--output-dir "$snapshot_root"
source_root="$snapshot_root/website.d"
scripts/configure-simplemodeling-development.sh \
--source-root "$source_root"The writer validates the cncf.knowledge-source.v1 metadata, derives a
content-bound sha256: generation, and atomically writes the marked private
.textus/config.yaml with only the explicit development bootstrap binding,
in-memory SIE policy, and exact read-only file root. It refuses an unmarked
existing config and supports --output PATH for tests. Restart the managed
instance through Textus Control Center, then use the read-only probe with the
expected term count, present/absent term identities, and emitted generation:
scripts/test/probe-managed-bok.py \
--source-root "$source_root" \
--present-term-id architecture:availability \
--absent-term-id literate-modeling:story \
--expected-term-count 215 \
--generation sha256:40f96e99b2308e0474584513ff7602928008d57de8e3f3bd2494a5aa83402cecThe probe checks loopback readiness, exact profile/source attribution, term
counts, and the absence of replaceKnowledgeSource from MCP without invoking
replacement. Malformed metadata must fail before configuration changes. To
roll back, restore the accepted website.d, rerun the writer, and restart via
Control Center. This path has no watcher, polling, hot reload, restart
controller, or Control Center API.
For final restoration, use the current SimpleModeling.org website.d as a
separate source root. Its accepted current values are
literate-modeling:story present, architecture:availability absent, 212
terms, and generation
sha256:5cf33a2697035e3b53c6920446e9c9ce2c94a3c4192d56441a308d5f9b956b5f:
current_source_root="/Users/asami/src/dev2025/simplemodeling-org/website.d"
scripts/configure-simplemodeling-development.sh \
--source-root "$current_source_root"Restart textus-bok through the normal Textus Control Center/supervisor
lifecycle, then run the current read-only probe:
scripts/test/probe-managed-bok.py \
--source-root "$current_source_root" \
--present-term-id literate-modeling:story \
--absent-term-id architecture:availability \
--expected-term-count 212 \
--generation sha256:5cf33a2697035e3b53c6920446e9c9ce2c94a3c4192d56441a308d5f9b956b5f- Development strategy
- Phase 1
- Phase 1 checklist
- BoK domain model contract
- Phase 2
- Phase 2 checklist
- Phase 3
- Phase 3 checklist
- Phase 4
- Phase 4 checklist
- Phase 5
- Phase 5 checklist
- Deferred release work
- Phase 6
- Phase 6 checklist
- Phase 7: BoK Profile Selection Contract
- Phase 7 checklist
- BoK Profile Selection design
- BoK Profile Selection contract
- Phase 7.1: Profile Registry and Resolution
- Phase 7.1 checklist
- Phase 7.2: Read Contract Integration
- Phase 7.2 checklist
- Phase 7.3: Web and Operator Integration
- Phase 7.3 checklist
- Phase 7.4: Representative Verification and Closure
- Phase 7.4 checklist
- Phase 7.5: Component-Contributed Knowledge Acceptance
- Phase 7.5 checklist
- Phase 8: Configured KnowledgeSource Startup Bootstrap
- Phase 8 checklist
- Phase 9: Knowledge Map MCP Publication
- Phase 9 checklist
- Phase 10: Resident Multi-BoK Catalog and MCP Publication
- Phase 10 checklist
- Knowledge Map Web application specification draft
- Knowledge Map Web application consideration journal
- Temporary migration SAR
- BoK Codex SAR
- Developer guide
- Packaged reference manual
- Packaged operator guide
- Startup bootstrap contract