# MSet 64-bit Core Knowledge

Status: **canonical-development**

> **Status meaning:** `canonical-development` describes the maturity/status of the published MSet AI Hub knowledge content for this branch. It is **not** the commercial, release, support, runtime, or product status of MSet 2026. Do not describe MSet 2026 itself as being in `canonical-development`.

Current product: **MSet 2026**

This document is the mandatory core for the modern 64-bit MSet knowledge branch.

## Core rules

- Work only within the 64-bit branch unless the user explicitly requests comparison or migration.
- Treat published canonical rules as authoritative over examples.
- A working example is evidence of runtime behavior, not automatically a recommendation for new authoring.
- MSet instructions may be multi-file packages. Do not ignore DTD, entity, include or support files referenced by the entry XML.
- Every MSet instruction must have a DTD. A deliberately self-contained single XML uses an internal DTD subset. A DTD-less XML is not a valid MSet instruction for authoring purposes, even if a permissive parser path might load it.
- In a newly authored `Group`, normally put nested Groups before direct Features; intentional workflow-driven exceptions are allowed.
- When descendant Features depend on active graphical attributes, establish a deterministic baseline in the nearest useful common Group; do not duplicate the same reset in every Feature. Use only evidenced host setters.
- A Feature is a meaningful user action, not necessarily a new tool activation. For every authored Feature, check semantic consistency between `Cpt`, effective command, parent Group context and any active-tool/state assumption.
- Match the user-requested XML/output scope exactly. A local `<Feature>` fragment is not the same artifact as its effective Group -> Feature command. If the user asks for only a Feature snippet, return only that local Feature fragment; do not synthesize ancestor Groups, placeholder resources, or copy inherited/effective command pieces such as `place cel rel` into the Feature merely to make it look standalone. Add such syntax only when the user explicitly asks for a standalone executable Feature or verified source/context requires it locally.
- MSet authoring is intent-first: for primary working branches, prefer domain/user actions whose effective commands establish the required CAD state and tool. Modifier/state Features remain valid as deliberate presets, adjustments, diagnostics or expert controls; do not make a low-level attribute palette the default workflow without a reason.
- Keep format validity, command validity, runtime evidence, authoring quality and domain correctness distinct. Absence of authoritative evidence is not permission to infer syntax or resource meaning.
- Do not force graphical baselines onto non-graphical or intentionally state-preserving actions; apply hygiene only where the Feature depends on that state.
- Remember that `lc=` (including `lc=bylevel`) triggers standard line-style auto scale processing.
- Do not invent Bentley key-ins. Prefer documented or GRAPHICO runtime-verified entries from the reference catalogue, existing verified package commands, or explicit user-supplied syntax.
- For new MSet 2026 authoring, prefer the full canonical MicroStation command when its exact current form is established. Keep supported defined shorthands/assignment forms when they are part of the host or MSet substitution contract; do not mechanically expand `TH=`/`TW=`/`TX=`/`LC=`-style forms merely because they are short. Preserve historical prefix spellings as evidence/backward-compatible source and do not guess unknown expansions. Module 08 owns this distinction.
- Do not invent named environment resources. Use TextStyles, levels, cells, custom line styles and similar resources only when they are known to exist or explicitly declared to be provisioned; otherwise prefer evidenced resource-independent/explicit settings and list remaining dependencies.
- For text authoring, prefer a suitable known/guaranteed TextStyle; when none is known, use evidenced explicit text attributes/tool settings instead of fabricating a style name.
- Geometry command evidence and authoring preference are separate. For ordinary general linework, `place smartline` is the preferred default; `place line` is single-segment-oriented and `place lstring` is situational when LineString/exact element-type intent matters.
- Module 09 contains current GRAPHICO MicroStation 2026 evidence for `place block rotated` and interactive `place cir`; `place cir edge` is a separately observed three-point/circumference variant and must not be substituted for the interactive-radius workflow.
- Optional root `TextColor` and `BackgroundColor` define per-instruction MSet UI appearance in canonical `#RRGGBB` form; they do not change `FormatVersion="2026.1"` and are not CAD element symbology.
- The external URL action `$ % "https://..."` is runtime-verified in MSet 26.11.0.4 / MicroStation 2026. New instructions normally place groups of web links on a dedicated utility Page rather than mixing them into drawing-tool branches.
- The same external-launch syntax is not automatically canonical for local files, folders or configuration-variable expansion; those cases remain unverified until separately exercised on the current runtime.
- The Instruction Author transport bundle is complete only when its release/version, source count, payload integrity metadata and terminal completion marker agree with the current 64-bit manifest. The manifest also publishes SHA-256 and UTF-8 byte length for the complete bundle; reject or fall back from a truncated/mismatched transport artifact. A validated current bundle also embeds the exact current MicroStation `reference.keyins` text/plain reference after the ten required modules, so a restricted client that already loaded the complete bundle does not need a second URL fetch for those key-in semantics.
- `reference.keyins` points to a concrete immutable reference file, not a directory placeholder. Use it as an evidence index; it does not authorize commands beyond the evidence labels it records. When the current validated Instruction Author bundle is already loaded, its embedded key-in source is the same authoritative reference and satisfies this dependency.
- Before editing an instruction, inspect the branch manifest and load every required module for the Instruction Author track.
- The branch manifest may advertise optional on-demand integration tracks. Load one only when the user's task depends on that integration; do not treat an optional integration as a general MSet prerequisite.
- When a task materially concerns MicroStation Configuration, WorkSpace, WorkSet, project-environment `.cfg`, Standards/resource ownership or resolution, environment diagnostics, shared/network deployment, or V8i Project/PCF migration, load the on-demand `project-environment` track. Keep it out of ordinary instruction-authoring bootstrap work.
- For questions or instruction work involving iNGs_Geo / `ig_*`, load the published `ings-geo-integration` track and its iNGs_Geo key-in reference. Keep the unresolved `ig_preber` versus vendor-documented `ig_preberprvok` discrepancy explicit until new evidence resolves it.
- For questions materially concerning the Bentley standard/default color table, load the published standard-color reference instead of answering from generic model memory. Every human color name -> numeric `co=` conversion is a fresh lookup operation: explicitly consult the currently authoritative mapping again, including follow-up turns; never emit a remembered index. Preserve the pending requested color across applicability confirmation (`yes/no` confirms the table choice, not a different color), and cross-check name -> index -> RGB before emission. `BG` is a separate background entry, not numeric index 255; project/DGN-specific tables override the generic reference.
- When Point Cell versus Graphic Cell behavior matters, load the general MicroStation cells reference. If its Markdown cannot be retrieved, actively use the validated `microstation-cells.txt` fallback before declaring the host reference unavailable. Keep host behavior separate from domain catalogues that only identify a cell as Point or Graphic.
- For STN 01 3411 / `STN013411` / `STN013411_plus` symbology work, load the on-demand STN track and resource catalogue. If required Markdown retrieval fails, actively use the validated STN text/plain bundle; because that bundle contains both the STN resource catalogue and the general Point/Graphic Cell reference, a separate failed cells-Markdown fetch must not suppress an exact resource answer already evidenced by the bundle. Project/directive-specific symbol sets take precedence; the shared set is the practical default only when no stronger resource contract applies and availability is established.
- Before declaring authoring/editing complete, reopen and verify the exact XML/ZIP artifact that will be returned; the requested change must be present in that artifact. During an already-established task, a newly supplied/re-supplied task-specific file is normally the current input revision and the same task continues unless the user changes it or genuine ambiguity/conflict appears.
- `readyForFullAuthoring=true` means the core standard-mode MSet instruction/package contract is complete; it does not certify unknown key-ins, Annotation Scale, historical `$M(...)`, or untested environment-specific commands.

## Published learning track

### MSet Instruction Author

Status: **complete for current standard-mode authoring**

Published required modules:

1. `learn/instruction-author/01-concepts-and-package.md`
2. `learn/instruction-author/02-command-composition.md`
3. `learn/instruction-author/03-scale-and-substitutions.md`
4. `learn/instruction-author/04-safe-editing-and-errors.md`
5. `learn/instruction-author/05-good-authoring-practices.md`
6. `learn/instruction-author/06-semantic-context-review.md`
7. `learn/instruction-author/07-resource-contract-and-text-authoring.md`
8. `learn/instruction-author/08-connect-safe-keyin-forms.md`
9. `learn/instruction-author/09-basic-geometry-and-placement-patterns.md`
10. `learn/instruction-author/10-instruction-appearance-and-external-links.md`

After all ten modules, an LLM may read, explain, validate, create and safely modify MSet 2026 instruction packages within the published scope. Bentley/application key-in validity remains evidence-gated. Annotation Scale and historical `$M(...)` control macros remain outside this track.

## Published on-demand knowledge

### MSet / iNGs_Geo integration

Status: **published; load only when relevant**

This track documents only the iNGs_Geo cooperation boundary used by MSet: orientation, availability/startup, current MSet usage, evidence gaps and the vendor-documented `ig_*` interface. iNGs_Geo remains optional. The track does not replace the complete iNGs_Geo user manual.

### STN013411 / STN013411_plus symbology

Status: **published; load only when relevant**

This track documents the shared GRAPHICO/iNGs MicroStation map-symbology resources used by MSet when no project-specific cell/line-style contract takes precedence. It keeps the STN 01 3411 semantic layer, the `STN013411` MicroStation implementation, the non-normative `plus` extensions and concrete MSet usage separate.

### General MicroStation host references

The KB may publish small, MSet-relevant MicroStation references instead of duplicating host behavior inside every domain track. Current examples are the Bentley standard/default color table and Point Cell versus Graphic Cell behavior. These are on-demand references, not an attempt to reproduce the complete MicroStation documentation.
