Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Imp - agent guide

Imp is a small always-on-top companion HUD for MUDs. It reads character
vitals from a TinyFugue session on a remote VPS and renders them in a compact
frameless desktop window.
Imp is a small always-on-top companion HUD for MUDs. Supported MUD-client
adapters attach to same-host Imp nodes, publish client-neutral normalized
state, and handle exact-context trusted actions. The desktop HUD can consume a
local node or reach a remote node through SSH or authenticated WSS.

## Start here

Expand Down Expand Up @@ -43,8 +44,9 @@ changing, then the source it cites.
the same commit, or the conformance tests will fail - that tripwire is
intentional.
- `npm run check` is the platform-independent gate: lint/docs/version checks,
TypeScript typechecks and tests, relay and TinyFugue lint/tests, the
cross-component end-to-end check, and the frontend production build.
TypeScript typechecks and tests, relay/shared-adapter/Mudlet/TinyFugue Python
lint, type checks, and tests, the cross-component end-to-end check, and the
frontend production build.
- Conventional Commits are release inputs, not just style. `fix:` is a patch,
`feat:` is a minor increment, and an explicit breaking change is a major
increment. While Imp is `0.x`, a normal `feat:` advances the minor version
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Imp is a compact desktop companion for MUDs. It displays live character state
from your MUD client, provides configurable alerts, and lets you define trusted
action shortcuts.

The latest published release (`v0.2.1`) ships with:
Current published release artifacts include:

- a Windows x64 desktop installer, including the desktop-owned local Imp node
and Mudlet helper/package;
Expand Down
2 changes: 1 addition & 1 deletion deploy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ untrusted multi-user hosts are unsupported.
The normal server installation does **not** require an Imp source checkout,
Node.js, npm, Rust, or `uv` on the VPS.

The latest published server bundle (`v0.2.1`) supports:
The published Linux server bundle supports:

- Linux x86_64;
- CPython 3.12;
Expand Down
28 changes: 14 additions & 14 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ claims belong in `status.md` and the relevant architecture documents.
| Slice 15 - Server installation / bootstrap | ✅ Complete | `server-install-bootstrap` |
| Post-Slice 15 - Public release and release automation | ✅ Complete | `v0.1.0`; later work untagged |
| Slice 16 - Mudlet and local client integration | ✅ Complete | Untagged; slug below |
| Slice 17 - Input boundary correctness | Complete | Untagged |
| Slice 18 - Freshness correctness | Complete | Untagged |
| Slice 19 - Subscriber isolation | Complete | Untagged |
| Slice 20 - Diagnostic hardening | Complete | Untagged |
| Slice 21 - Native runtime ownership | Complete | Untagged; platform limits below |
| Slice 22 - Client-neutral UI and docs polish | Complete | Untagged |
| Slice 23 - ActionBroker timeout validation | Complete | Untagged |
| Slice 17 - Input boundary correctness | Complete | `input-boundary-correctness` |
| Slice 18 - Freshness correctness | Complete | `freshness-correctness` |
| Slice 19 - Subscriber isolation | Complete | `subscriber-isolation` |
| Slice 20 - Diagnostic hardening | Complete | `diagnostic-hardening` |
| Slice 21 - Native runtime ownership | Complete | `native-runtime-ownership` |
| Slice 22 - Client-neutral UI and docs polish | Complete | `client-neutral-ui-docs` |
| Slice 23 - ActionBroker timeout validation | Complete | `actionbroker-timeout-validation` |

Slice numbers and milestone tags are development-history markers. They have no
relationship to release versions. Release versions are derived independently
Expand Down Expand Up @@ -588,7 +588,7 @@ raw/ANSI GMCP robustness remain separate candidate work.

### Slice 17 - Input boundary correctness

Slug: `input-boundary-correctness`. Complete; untagged.
Milestone tag: `input-boundary-correctness`. Complete.

Remediates F01, F06, and F07 from the
[full repository audit](audits/2026-10-03-full-repository-audit.md):
Expand All @@ -606,7 +606,7 @@ outside this slice.

### Slice 18 - Freshness correctness

Slug: `freshness-correctness`. Complete; untagged.
Milestone tag: `freshness-correctness`. Complete.

Remediates F02 through shared canonical-observation classification and the
existing matching-context publication path. Unchanged valid observations keep
Expand All @@ -620,7 +620,7 @@ outside this slice.

### Slice 19 - Subscriber isolation

Slug: `subscriber-isolation`. Complete; untagged.
Milestone tag: `subscriber-isolation`. Complete.

Remediates F03 with one serialized writer and a bounded 16-frame FIFO per
subscriber. Broadcast enqueues without awaiting network sends; overflow or a
Expand All @@ -634,7 +634,7 @@ protocol changes, or other audit remediation is included.

### Slice 20 - Diagnostic hardening

Slug: `diagnostic-hardening`. Complete; untagged.
Milestone tag: `diagnostic-hardening`. Complete.

Remediates F04/F11: relay/gateway-owned WebSocket connections explicitly use a
credential-safe logger with an INFO floor and monotonic severity restrictions,
Expand All @@ -649,7 +649,7 @@ policy, freshness, subscriber isolation, and other audit findings are unchanged.

### Slice 21 - Native runtime ownership

Slug: `native-runtime-ownership`. Complete within the supported platform contract; untagged.
Milestone tag: `native-runtime-ownership`. Complete within the supported platform contract.

Addresses F05 for the Windows release target with atomic child Job Object
membership and kernel kill-on-final-handle-close for owned node, gateway, and
Expand All @@ -674,7 +674,7 @@ not claimed. Evidence and explicit limitations are in [`status.md`](status.md).

### Slice 22 - Client-neutral UI and docs polish

Slug: `client-neutral-ui-docs`. Complete; untagged.
Milestone tag: `client-neutral-ui-docs`. Complete.

Remediates F08–F10: client-neutral shared action/offline feedback, labelled
native segmented radios with standard keyboard selection and visible focus,
Expand All @@ -688,7 +688,7 @@ Slice 22 alone did not claim closure of the full audit; the separate

### Slice 23 - ActionBroker timeout validation

Slug: `actionbroker-timeout-validation`. Complete; untagged.
Milestone tag: `actionbroker-timeout-validation`. Complete.

Resolves the separately deferred timeout-validation gap, not an F01–F11 finding.
The broker constructor requires a finite, strictly positive result timeout and
Expand Down