Concept draft aligned to IMPROVEMENT6/9 direction.
Define a practical naming and scoring model for "what is interesting now" across:
- code work
- docs and tests
- TODO lanes
- triggers and checkpoints
- human and LLM workflows
This document replaces abstract operator language with an operational model for this repo and similar systems.
Use hierarchical IDs in this shape:
<prefix>.<base>.<suffix>[.<qualifier>]
Where:
prefixroutes context (domain/lane/root)baseidentifies the stable work unitsuffixencodes interest (state, trigger, risk, priority)
Short version:
- routing is prefix/base-driven
- attention is suffix-driven
Operational repo shape often looks like:
<prefix>.<base>.<suffix>[.<eventness>][.<ext>]
In practice:
suffixis usually the durable artifact or lane anchor- the extra right-hand eventness chain expands or collapses current interest
.extis optional; most files have one, some do not
Examples:
mainopsreleaseproductresearch
Use prefix to segment search space and ownership boundaries.
Examples:
command.treecommand.checkpointauth.sessionsearch.ux
base should change slowly. It is the durable unit for history and metrics.
Examples:
todotodo.currenttodo.nexttodo.trackingtodo.prioritytodo.trigger.eventrisk.high
suffix is what makes an item interesting right now.
To keep naming flexible, parse from right to left:
- Match the longest known suffix pattern.
- Remaining left side: first segment is prefix.
- Remaining middle segments are base.
Example:
- ID:
main.command.tree.todo.current - suffix:
todo.current - prefix:
main - base:
command.tree
This avoids hardcoding base depth.
This repo uses eventness as a recurring pattern:
When interest is live, expand around a stable subject:
prefix.base.suffix[.expanding.eventness][.ext]
Examples:
main.command.trace-id.test.todo.current.mdmain.command.trace-id.test.todo.current.reference.mdmain.command.trace-id.test.todo.trigger.event.md
Expanded files can hold:
- resume context
- hypotheses
- exact
recurcommands to run next - references to related files or lanes
During expansion, use recur commands to discover what is actually interesting now.
The files do not replace query-time discovery; they improve it.
Typical loop:
recur files "**.current" -d docs/recur files "**.trigger.event" -d docs/recur tree "main" --sep . --sep _ --show-seprecur find "<symbol-or-text>" --scope "**" -d src/
This is why eventness works well with humans and LLMs: the repo stores both the current state and the next useful queries.
Once the interest has paid off, collapse the expanded state:
prefix.base.suffix[.collapsing.eventness][.ext]
Typical outcomes:
- keep a stable completion record:
*.complete.* - keep a lower-intensity reminder:
*.future-plan.* - keep a durable rediscovery point:
*.recurring.* - remove the ephemeral file entirely when no residue is worth keeping
recurring is apt when the value is not "this is active now" but "this workflow or pattern should be easy to find again later."
Eventness is a ranking score for "what should get attention now."
Suggested formula:
eventness = suffix_weight + prefix_prior + freshness + impact + anomaly_bonus
Where:
suffix_weight: strongest signal (blocked > current > todo > recurring > complete)prefix_prior: domain urgency prior (opsmay outrankresearch)freshness: time decay / stalenessimpact: downstream references, dependency fan-outanomaly_bonus: unknown patterns, drift, or surprising changes
Key policy:
- prefix guides search scope
- suffix dominates ranking
You can detect useful surprises even when not explicitly planned.
Examples:
- new suffix pattern appears (
todo.blocker,risk.critical) not in policy - missing expected suffix chain (
todoexists,todo.currentmissing) - expanded eventness never collapsed after the interest window closed
- sudden rise in refs/callers around one base
- new prefix/base combination with no historical pattern
Treat these as anomaly candidates and raise eventness automatically.
This model supports both layers from IMPROVEMENT9:
- File layer (
recur files/tree/stats)
- selects where to look
- separator may vary by folder (
--sep _forsrc,.for docs/tests)
- In-file layer (
recur in id/refs/trace/gaps)
- extracts and ranks interest IDs inside selected files
- canonical semantic IDs remain dot-based
main.command.tree.todo.currentmain.command.tree.todo.trigger.eventmain.command.trace-id.test.todo.current.referencemain.command.checkpoint.todo.nextmain.package.crates-io.recurringops.incident.auth.outage.todo.blockerrelease.v2_3.rc1.risk.high
Any suffix can represent interest as long as it is recorded consistently.
recur files "main.command.*.todo.current" -d docs/
recur files "main_command_*_todo_current" -d src/ --sep _recur files "main.command.*.todo.trigger.event" -d docs/
recur files "main_command_*_todo_trigger_event" -d src/ --sep _recur files "**.recurring" -d docs/recur files "main.command.**" -d docs/ \
| recur in id "*.todo.*" --stdin
recur files "main_command_*" -d src/ --sep _ \
| recur in refs "*.todo.trigger.event" --stdinFor legacy codebases, start with one plain text list:
docs/main.semantic.names.txt
Record one semantic ID per line:
prefix.base.suffix[.qualifier]- blank lines and
#comments are ignored - no NDJSON or embedded metadata schema required
Example:
main.command.tree.todo.current
main.command.tree.todo.trigger.event
main.command.checkpoint.todo.current
Then resolve IDs to files with existing file-layer commands and pull detailed context from those files on demand.
- Select scope by prefix/base.
- Read candidate semantic IDs from the text list.
- Resolve selected IDs to files (
recur files ...) and extract suffix-bearing IDs (interest signals). - Rank by eventness.
- Execute required triggers.
- Collapse the expanded eventness to the right durable residue.
- Run recurring completion checklist items (update docs, commit, push).
- Rotate current lane.
Humans and LLMs should run the same loop over the same semantic list plus resolved file context.
Keep this lightweight:
- Maintain a suffix policy map (suffix -> weight/severity).
- Enforce one active
*.todo.currentper lane. - Require
*.todo.trigger.eventfor recurring start/complete workflows. - Collapse stale expanded eventness once the interest window closes.
- Run drift checks (missing suffix chains, unresolved refs).
Prefix and base tell you where work lives; suffix tells you why it is interesting now.