A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
I1801
A scripted capability is a kind, discovered and registered, runnable and projected like any capability
Where it stands
devtask.issue- Readiness
- blocked 1 of its dependencies is not DONE
- Status
- BLOCKED
- Can start
- not now
- Milestone
- Milestone status
- ACTIVE
- Wave
1- Waiting on
- Holds back
- Behind it in all
1- Evidence
0of2
| In the way | Subject | Detail |
|---|---|---|
| issue | I1800 | I1800 is not DONE |
Moves
plan.transitionWhat it is
- Objective
- Make a capability declared in a file of the layer, with a Rhai script as its handler, a capability of the one registry: discovered by the index as a kind, validated with errors naming file and field, runnable through majordomus run, and projected onto the command line, MCP, OpenAPI and the generated reference by the projections that already exist.
- Why
- ADR 0069 refuses a second registry (project.no-new-nouns). A script reaches the repository only through capabilities, by one host function that calls Context::execute, so validation, redaction, counters and the execution plane apply to every call a script makes; and the host refuses a callee whose effect exceeds the script's declared effect.
- Now
- Capabilities come from Rust modules and from declarative objects as resources only; nothing turns a layer file into an executable capability.
- Wanted
- A capability kind with a versioned schema and a script kind beside it; the registry builds an executable capability from each definition; one real scripted capability ships composing read-only capabilities; case 383 drives it end to end.
- Done when
- unknown: the record declares no `completion`
- Risk
- unknown: the record declares no `risk`
Acceptance
- a definition with an unknown key or a missing script is refused naming the file and field
- a compile error names the script file, line and column
- a runtime error names the script file, line and column
- a call to a capability whose effect exceeds the declared effect is refused
- a cancelled execution of a scripted capability stops
- the scripted capability appears in capabilities list, OpenAPI and MCP after generate with no edit elsewhere
- Validation
cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib script::bash test/run.sh 383_a_scripted_capability_runs- Evidence required
scripted_capability_projected_everywhereeffect_ceiling_enforced- Evidence present
- unknown: the record carries no `evidence` entries
Scope
- Touches
apps/majordomus-clishare.ai/repodocstestSECURITY.md- Not
Migrating shell scripts; that is I1804A function that takes a shell command string- Depends on
- Priority
- p1
- Profile
- implementation
- Parallel safe
- false
- Owner
- unknown: the record declares no `owner`
The work so far
- Branches
- none
- Merged
- none
- Commits
0- Trunk
- master
- Sessions
- none
- Created
- 2026-09-15
- Updated
- 2026-09-15
- Started
- unknown: the record declares no `started_at`
- Verified
- unknown: the record declares no `verified_at`
- Completed
- unknown: the record declares no `completed_at`
Synchronisation
- Adapter
scripts/github-sync- Repository
- unknown: the derived plan's header carries no repository
- External issue
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
- State there
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
Findings
Nothing is wrong with these records.