What happened
Two small drift traps hit while moving cargo-hauler to conventional routes:
-
AB4806 — identifier in static config. src/mcp/hauler/tools/hauler_status.tsx had
export const config = { _meta: { ui: { resourceUri: APP_RESOURCE_URI } }, ... }
with APP_RESOURCE_URI imported from src/constants.ts. The static extractor rejects the identifier, so the same string (ui://cargo-hauler/dashboard.html) must now be spelled as a literal in the app route's config.resourceUri, in src/constants.ts (runtime use), and in each tool that wants the widget. Nothing checks they agree.
Ask: let a tool reference the app route it targets (e.g. _meta: { ui: { app: 'hauler/dashboard' } } resolved by the compiler to that app's resourceUri), or allow const string identifiers from the same module in the static grammar.
-
config.template is project-root relative. In src/mcp/hauler/apps/dashboard.tsx, template: './src/mcp/hauler/apps/dashboard.html' — the path resolves from the project root, not the route file, so moving the app route requires editing the literal. Route-relative resolution (or accepting both with route-relative preferred) would match how every other import in the file resolves.
Minor, same session: agent-bundle inspect --routes aborts on the first diagnostic set instead of emitting the partial route graph, which makes it impossible to verify one route while another is mid-edit.
Pin: agent-bundle@105c65d8f.
What happened
Two small drift traps hit while moving
cargo-haulerto conventional routes:AB4806 — identifier in static config.
src/mcp/hauler/tools/hauler_status.tsxhadwith
APP_RESOURCE_URIimported fromsrc/constants.ts. The static extractor rejects the identifier, so the same string (ui://cargo-hauler/dashboard.html) must now be spelled as a literal in the app route'sconfig.resourceUri, insrc/constants.ts(runtime use), and in each tool that wants the widget. Nothing checks they agree.Ask: let a tool reference the app route it targets (e.g.
_meta: { ui: { app: 'hauler/dashboard' } }resolved by the compiler to that app'sresourceUri), or allowconststring identifiers from the same module in the static grammar.config.templateis project-root relative. Insrc/mcp/hauler/apps/dashboard.tsx,template: './src/mcp/hauler/apps/dashboard.html'— the path resolves from the project root, not the route file, so moving the app route requires editing the literal. Route-relative resolution (or accepting both with route-relative preferred) would match how every other import in the file resolves.Minor, same session:
agent-bundle inspect --routesaborts on the first diagnostic set instead of emitting the partial route graph, which makes it impossible to verify one route while another is mid-edit.Pin:
agent-bundle@105c65d8f.