Documentation
¶
Overview ¶
Package basefacts assembles the base facts shipped with the sdd binary. Base facts are framework reference knowledge merged into every graph as Embedded `fact` signals — the pull layer that answers the engine's push-only knowledge gap (d-cpt-dtv). They mirror the base-procedures pattern: always loaded, no participants, no project refs, stable IDs, and overridable per-project by a superseding entry on the same ID — except the type-system facts, which declare `override: closed` (model.OverrideClosed) because their content renders from the running version's declarations and a frozen project copy would silently outrank that truth (d-tac-9be).
Unlike base procedures — static .md files embedded at compile time — a base fact body may be rendered at load from live executor vocabularies, so the fact tracks the code with zero manual sync. To keep this package free of a dependency on the read stack (finders assembles the vocabulary and merges these entries, so importing it here would cycle), the caller supplies the vocabulary as data — the same dependency inversion viewlayout uses.
Index ¶
Constants ¶
const ActivityFactID = "20260818-110200-s-prc-dsp"
ActivityFactID is the stable identity of the activity-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const ActorFactID = "20260818-110000-s-prc-act"
ActorFactID is the stable identity of the actor-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const AnnotationFactID = "20260818-110500-s-prc-ann"
AnnotationFactID is the stable identity of the annotation-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const AspirationFactID = "20260818-110400-s-prc-asp"
AspirationFactID is the stable identity of the aspiration-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const DirectiveFactID = "20260815-110000-s-prc-drk"
DirectiveFactID is the stable identity of the directive-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const DiscriminationFactID = "20260818-120000-s-prc-dsc"
DiscriminationFactID is the stable identity of the kind-discrimination fact — the tests that settle which kind to draft, held in one home rather than one view per kind (d-cpt-fpm). Its timestamp is a fixed authoring stamp.
const DoneFactID = "20260812-170000-s-prc-dnk"
DoneFactID is the stable identity of the done-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock; a project overrides the fact by superseding this ID.
const FactFactID = "20260816-110000-s-prc-kno"
FactFactID is the stable identity of the fact-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const FocusFactID = "20260818-110300-s-prc-foc"
FocusFactID is the stable identity of the focus-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const GapFactID = "20260815-100000-s-prc-gpk"
GapFactID is the stable identity of the gap-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const InsightFactID = "20260816-100000-s-prc-syn"
InsightFactID is the stable identity of the insight-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const OverviewFactID = "20260812-180000-s-prc-typ"
OverviewFactID is the stable identity of the type-system overview fact — the indexed introduction to types, kinds, and layers, pointing at each kind's authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const PlanFactID = "20260818-100000-s-prc-spc"
PlanFactID is the stable identity of the plan-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const PrinciplesFactID = "20260810-190000-s-prc-way"
PrinciplesFactID is the stable identity of the working-principles fact — the posture a session is primed with rather than expected to pull. Its timestamp is a fixed authoring stamp, not a live clock; a project overrides the fact by superseding this ID.
const ProcedureFactID = "20260813-170000-s-prc-prd"
ProcedureFactID is the stable identity of the procedure-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock; a project overrides the fact by superseding this ID.
const ProcedureSpecFactID = "20260814-100000-s-prc-psr"
ProcedureSpecFactID is the stable identity of the procedure spec reference fact — how to write the frontmatter the engine executes. Unindexed, like the per-kind authoring facts: it is reached through the procedure kind's fact and the capture lane's teasers, not the pull-side index.
const QuestionFactID = "20260817-100000-s-prc-qry"
QuestionFactID is the stable identity of the question-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const RefKindsFactID = "20260828-160000-s-prc-rfk"
RefKindsFactID is the stable identity of the ref-kind vocabulary fact — how entries connect: each kind's meaning, direction, and when it applies. Its timestamp is a fixed authoring stamp.
const RoleFactID = "20260818-110100-s-prc-rol"
RoleFactID is the stable identity of the role-kind authoring fact. Its timestamp is a fixed authoring stamp, not a live clock.
const ViewGrammarFactID = "20260717-110000-s-prc-vwg"
ViewGrammarFactID is the stable identity of the view-layout-grammar fact. It never changes across releases: readers cite it, and the first-hit view hint (mcpapp) points at it. Its timestamp is a fixed authoring stamp, not a live clock. Exported so the hint producer references one shared constant.
Variables ¶
This section is empty.
Functions ¶
func AuthoringFactID ¶
AuthoringFactID returns the stable ID of the kind's authoring fact, or "" when none ships yet.
func AuthoringFactIDs ¶
AuthoringFactIDs returns the shipped authoring-fact IDs keyed by kind name, for read-only presentation contexts (procedure template values).
func Entries ¶
func Entries(vocab viewlayout.Vocabulary) ([]*model.Entry, error)
Entries returns the base facts to merge into a graph, rendered against the supplied live vocabulary. The set is compile-time-shaped, so a construction error means a broken build — callers fail hard, exactly as with base procedures.
Types ¶
This section is empty.