research-direction-selector ยท diff
v5.8.0 to v5.8.0
14 added, 0 removed. Audit A to A.
---
name: research-direction-selector
description: Choose and audit theoretical or empirical research steps with scoped evidence, budgets and authorized execution. Supports proof obligations, experiment comparisons and native research records; domain-specific solvers and scientific evidence are still required.
metadata:
version: v5.8.0
engine: rds-cli-v5.8
---
# Research Direction Selector
Agent pseudocode; not an executable language or a new kernel contract.
In a workspace-write sandbox, the CLI automatically records usage under
`<project_root>/.rds/usage/cli-usage.sqlite3` if its default user-state log is
unavailable because of permissions or read-only storage. Help is included. Pass
the intended `--root`; no environment workaround is needed for a successful
fallback. An explicit `RDS_USAGE_DB` remains authoritative. If both locations
are unavailable, `RDS-USAGE-DEGRADED` still preserves the command result; see
[usage logging](docs/cli-usage.md).
```text
DISCOVER: name + description
ON applicable research request:
LOAD this SKILL.md
skill_dir := directory containing this file
project_root := user's research project
CLI := python -B "<skill_dir>/scripts/rds_cli.py" --root "<project_root>"
RESOLVE bundled scripts/references/examples relative to skill_dir
RESOLVE user inputs explicitly; NEVER create .rds in installation/plugin cache
LOAD supporting resources only when the current decision needs them
INPUT := user request + current project evidence + authorized resources
INFER goal, acceptance, evidence, budget FROM INPUT; NEVER invent them
IF evaluation is missing: define a minimal protocol BEFORE material commitment
ASK only for an uninferable material goal, method, or resource choice
KEEP missing evidence = UNKNOWN; preserve existing authorization and gates
BRANCH via the route table below
IF the needed capability is outside the quick routes:
READ docs/command-map.md; SELECT the supported entry and its prerequisites
CHECK CLI <command path> --help (or the documented helper's --help)
USE only the capability needed for this task; DO NOT run the whole catalog
IF new goal-driven campaign:
FREEZE the actual objective, permitted routes, result readers and budget
in advisor_policy; see docs/program-owned-advisor.md
RETAIN serious alternatives/explanations and their distinguishing observations
IF project has advisor_policy:
RUN advise --brief FROM the current ledger and owned dependency graph
READ selection, coverage gaps/errors and the saved report when needed
RUN project advance --brief FOR at most one program-selected authorized step
KEEP original receipt + automatic Advisor update; unknown remains UNKNOWN
+ IF advisor_policy declares tool_bindings:
+ READ tool_utilization FOR obligation applicability, actual calls and decision consumers
+ USE only qualified current-input candidates within frozen routes and budget
+ KEEP UNKNOWN and unconsumed outputs visible; do not optimize for command counts
+ READ docs/owned-tool-consumers.md FOR the finite native application interface
IF collection failed: recover collection; NEVER repeat completed training
+ IF predictive plan is blocked or a method failed:
+ READ docs/predictive-feasibility.md and the returned repair_request
+ RUN project improve FOR an already authorized code path
+ USE receipt diagnostics + source hints TO create/improve a tool
+ EDIT candidate; refresh improve; adopt project revise in the same ledger
+ REQUIRE fresh bounded pilots + unchanged independent goal verification
+ KEEP failed costs, attempts, exposure and original campaign deadline
+ IF no authorized viable method remains: REPORT that outcome
NEVER replace context/graph/choice OR bypass with quick/theory allowance
ELSE IF substantive research direction choice:
SUPPLY serious alternatives/explanations + sources + distinguishing observation
IF project has a saved dependency map: ADD --saved-dependencies TO advise
READ the returned search.selection_review: basis, flags, relevant next_move
IF brief output omits decision-critical detail: READ its saved record
CHECK single direction, missing/overlapping predictions, unknown premises,
truncated search, and submitted goal/dependency links
REPAIR consequential gaps OR state the comparison still unresolved
EXPLAIN why this next step follows from the evidence BEFORE --choose
RECOMMEND one default + at most one serious alternative
INCLUDE deciding observation, fair comparison, stop/revision condition
DO NOT equate a preselected candidate + recording/budget checks with comparison
DO NOT use a later call to endorse an already executed route
IF fixed user-requested task OR single proof obligation:
KEEP the requested scope; DO NOT invent rival experiments
NOTE: program checks only supplied inputs; omitted dependencies remain unassessed
review/recording grants no new resources or execution authority
AFTER campaign-changing command:
READ project status --brief OR project next
REBIND printed scripts/rds_cli.py commands TO CLI above; preserve arguments
FOLLOW ledger-derived next_move within existing authorization
REPORT actual backend + assurance; unresolved results stay UNKNOWN
KEEP runner, Lean, RSI optional; Advisor/rule lint remain heuristic
NEVER infer scientific acceptance FROM exit 0, self-signed success, or call count
```
## Routes
All commands below use `CLI` above. Links load detail on demand.
| Trigger | Command | Detail |
| --- | --- | --- |
| First plain-language request | Follow [quick start](docs/quickstart.md): copyable prompts, first project, `[RDS-REJECT]` recovery | [Project runner](examples/project-runner/README.md) |
| Start locked campaign | `project init --contract <contract.json>`; freeze `advisor_policy` for program-owned selection | [Contract template](docs/project-contract.md), [owned Advisor](docs/program-owned-advisor.md) |
| Advance campaign | `project next` to inspect; `project advance --brief` executes one selected step in a policy-bound project | [Owned Advisor](docs/program-owned-advisor.md), [development loop](docs/development-loop.md) |
+ | Improve a blocked tool | `project improve --code-path <path> --id <revision>`, then `project revise --proposal <path>` | [Forecasts and tool improvement](docs/predictive-feasibility.md) |
| Choose research direction | Policy-bound: `advise --brief`; legacy: `advise --context <context.json> --graph <graph.json> --brief`, then `--choose <candidate-id> --record <checkpoint-id>` | [Choice review](docs/agent-entry.md#review-the-research-choice), [research discipline](references/research-discipline.md) |
| Audit evidence | `artifacts import --manifest <manifest.json>` | [Agent entry](docs/agent-entry.md) |
| Check mathematical claim | `formal verify --spec <spec.json>`; select a supported tactic when needed | [Formal framework](references/formal_framework.md) |
| Reuse/register local tool | `rsi extract --source <file> --entry <function> --name <id>`; `rsi validate --name <id> --cases <cases.json>`; `rsi register --name <id>` | [Native research](docs/native-research.md) |
| Wrap frozen job | `exec --name <id> --timeout 30 -- <command...>` | [Command wrapper](docs/agent-entry.md#wrap-a-command) |
| Record decision/rejection | `checkpoint save --id <id> --decision <decision.json>` (kind from root); or `reject --reason '<text>' --evidence <file>` (current choice) | [Local decision workflow](docs/lightweight-workflow.md) |
## Visible invocation status
```text
ON actual Skill load, before this task's first CLI call:
SHOW "RDS | loaded, not invoked"
ON meaningful CLI event:
dispatch -> "RDS | {command}: running"
host/tool error -> "RDS | {command}: error"
known nonzero exit -> "RDS | {command}: nonzero exit"
known zero exit -> "RDS | {command}: returned"
unknown result -> "RDS | {command}: result unknown"
SHOW one short line FROM observed events; OMIT unchanged/host-displayed duplicates
NEVER add calls for display; KEEP existing receipts/record locators, no required hash
session start != Skill loaded != CLI invoked
returned != sufficient comparison != proof != scientific acceptance
```
## Conditional resources
- Program-owned collection, route selection, recovery and CPU example: [owned Advisor](docs/program-owned-advisor.md)
- All public CLI commands, Advisor modes and supported helper entries: [command map](docs/command-map.md)
- Goal links, method limits, theory/experiment acceptance: [agent entry](docs/agent-entry.md)
- Evidence classes, controls, precommitted comparison: [research discipline](references/research-discipline.md)
- Capacity and parallel batches: [resource planning](docs/resource-planning.md)
- Stalled formulation or theory-tool lookup: [theory reformulation](docs/theory-reformulation.md)
- Anti-loop checkpoint review: [local decision workflow](docs/lightweight-workflow.md)
- Formal scope, UNKNOWN, `CERTIFICATE_CHECKED`, `LEAN_KERNEL_CHECKED`: [formal framework](references/formal_framework.md)
- Native objectives, assets, reusable tools: [native research](docs/native-research.md)
- Optional scoped history: [Obelisk](references/obelisk.md)
- Explicitly opted-in preferences only: [optional preferences](references/optional-preferences.md)