Tack Grammar
Tack is the operator intent language. You type intent into the TUI tack bar. The kernel resolves it — sometimes to a command, sometimes to an LLM query, sometimes to a needle reference, sometimes to raw hay. Communication gets shorter as you work. The OS adapts to you, not the other way around.
INPUT_FORMS
The tack parser recognizes four prefix patterns, checked in priority order. Everything else is filed as hay.
| PREFIX | INTENT_TYPE | RESOLUTION | EXAMPLES |
|---|---|---|---|
:verb | Command | Kernel dispatch — no LLM | :compile, :status, :reap, :close →573 |
.? | Query | Routes through the LLM for intent-based resolution | .? how does bail work, .? why |
→NNN | NeedleRef | Opens needle detail or activates work | →573, →1245, ->437 |
:: | Escalate | Scope targeting — agent, file, or concept | :: agent1 fix the build |
(bare text) | Hay | Filed as raw unstructured intent for later compile | need to fix the auth flow |
→ and -> are equivalent — the parser accepts both. Priority is always: exact match first, then pattern match, then LLM inference as last resort.
TACK_EXAMPLES
$ :status → kernel dispatch → ostk status 3 open needles, 2 agents alive, gen 20556 $ :compile → triage hay → 4 new needles filed $ :close →573 → needle 573 closed
$ .? how does bail work → LLM query → bail packs a signed artifact with SHA-256 manifest and attestation chain $ →1245 → needle 1245: "verb namespace refactor" status: open, priority: p1, milestone: v0.9
$ :: agent1 fix the build → nudge agent1: "fix the build"
$ need to refactor the auth module → filed as hay (raw intent) compile later with :compile
RESOLUTION_PIPELINE
When you type :verb, the kernel resolves it through three sources in priority order. First match wins.
.LANGUAGE (COMPILED DIALECT)
The .language file is the compiled verb registry — a pipe-delimited table loaded at boot. Verbs here override everything else. This is where momentum lives: verbs you use often are resident, low-momentum verbs are demand-spawned.
1.0HUMANFILE EXTENSIONS
Custom verbs declared in the HUMANFILE via VERB or TACK directives. The operator's personal dialect — verbs that map to project-specific commands or workflows.
0.9STATIC VERB TABLE
Hardcoded verb-to-command mappings compiled into the kernel. The baseline vocabulary. Always available even if .language and HUMANFILE are missing.
0.8If no source matches, the kernel returns up to 3 edit-distance suggestions (Levenshtein, threshold 3). The OS never says "unknown verb." It always tries.
NAMESPACE_LAYERS
Beyond the resolution pipeline, verbs are dispatched through four namespace layers. Resolution walks layers in priority order — highest-priority handler wins.
kernel:: driver:: fleet:: user:: VERB_TIERS
Every verb in the .language file has a tier that determines its stability and persistence.
| TIER | CLASS | BEHAVIOR | EXAMPLES |
|---|---|---|---|
0 | Services / Devices | Infrastructure. Never decay. Always resident. Approval gates, heartbeat, drivers, embeddings. | approval, heartbeat, fcp-rust, fcp-web, embeddings |
1 | Kernel / Ceremony | Core operations. Stable, well-tested. Require human presence for ceremonies. Never removed. | boot, compile, shutdown, commit, confirm, negotiate |
2 | Stable Userspace | Documented, production-ready verbs. High momentum keeps them resident. Low usage may demote. | add, close, search, near, hay, status |
3 | Flexible / Ephemeral | Experimental or session-scoped. Demand-spawned when invoked. May decay between sessions. | ultrathink, sign, reboot, mode, model |
INTERNALIZED_VERBS
These 29 verbs resolve as direct function calls inside the kernel — zero-cost dispatch, no shell, no socket. The rest dispatch through .language, HUMANFILE, or shell.
activate add audit boot clock close compile correct decide diff draft edit find grep hay idea near needle nudge promote ps reap related search shelve show status trace unshelve
Verbs like correct and nudge resolve to the same handler. add and needle are equivalent. search, find, and grep all route to the same search handler.
THE .LANGUAGE FILE
The verb registry. A pipe-delimited table loaded at boot. Generated by :compile from usage patterns in the audit trail.
# verb | tier | layer | last_gen | momentum | resolution | signature | doc :boot | 1 | kernel | 20556 | 1.00 | internal | () → (state) | read state, report identity :compile | 1 | kernel | 20556 | 1.00 | internal | () → (report) | triage hay into needles :hay | 3 | user | 20556 | 1.00 | internal | (text) → () | capture raw intent :shelve | 1 | user | 20556 | 1.00 | internal | (id) → () | pause needle work :ultrathink| 3 | user | 20554 | 0.20 | [LLM inference] | (topic) → () | deep reasoning
verb The tack verb name (with : prefix in the file, stripped at parse time) tier 0–3. Stability class. Determines decay behavior and boot residency. layer kernel, service, device, user, ceremony, process, state, info, resolver last_gen Generation counter at last use. Tracks recency. momentum 0.0–1.0. Usage frequency score. High-momentum verbs are boot-resident. resolution How the verb dispatches: "internal", a socket path, or an ostk CLI command. signature Input/output type signature. Used for schema generation. doc One-line description. Shown in help and tool listings. MOMENTUM
Verbs you use often get faster. Usage frequency is tracked in the audit trail. When you run :compile, the kernel rebuilds the .language file from usage patterns and updates momentum scores.
This is not LLM-learned. It is frequency-based. The verb table evolves across sessions through audit trail analysis. Over time, your tack vocabulary converges on the commands you actually use.
ALIASES
The static verb table includes aliases that resolve to canonical verbs. You can type whichever form feels natural.
:showme → :show :spec → :promote :straw → :hay :emerge → :hay :proc → :ps :correct → :nudge :recover → :boot :calibrate → :compile :delegate → :run :inform → :nudge :ls → :needle list :open → :needle list :close → :needle close :add → :needle add :next → :needle next :find → :search :grep → :search HUMANFILE_VERBS
The HUMANFILE's tack grammar section defines the operator's personal dialect. Custom verbs via VERB or TACK directives.
# In .ostk/HUMANFILE: VERB pitchfork show --semantic VERB discuss spawn round-table TACK boost priority-modifier # Then in the tack bar: $ :pitchfork → resolves to: ostk show --semantic $ :discuss → resolves to: ostk spawn round-table
HUMANFILE verbs sit in the user:: namespace layer — lowest priority. If a kernel verb or driver verb has the same name, the kernel verb wins.