Feature Claim Registry
This page is the single index of all Feature Claims for the OLAV platform. Each Claim corresponds to a verifiable platform capability.
Methodology: Doc-Driven Testing → Fresh Venv Validation (updated v0.17.0)
Document claim → Build wheel → Fresh venv install → CLI verification → Verified or Narrowed
v0.17.0 audit: 12 of 118 claims (10%) that were ✅ in dev environment failed in fresh venv.
All claims are now re-verified from pip install dist/*.whl in a clean environment.
See dev_docs/45. CLAIM_AUDIT_v0.17.md for the full audit report.
Status legend:
- ✅ Verified — Passed CLI end-to-end verification, recorded in
dev_docs/23. CLI_VERIFICATION_LOG.md
- ⬜ Pending — Code implemented, awaiting CLI verification
- ⚠️ Narrowed — Available under limited conditions; Claim scope has been narrowed
- 🔶 Env-Blocked — Requires an external environment (running service, CLAB, etc.) to verify
| ID |
Claim |
Doc Page |
Status |
| C-L1-01 |
OLAV lets you control infrastructure with natural language |
Home |
✅ |
Level 2 — Feature-Level Claims
Basic Commands
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-01 |
CLI correctly reports version and system info |
olav version |
Installation |
✅ |
v0.10.0 |
| C-L2-02 |
CLI lists all available Agents with descriptions |
olav list |
First Query |
✅ |
v0.10.0 |
| C-L2-03 |
List and switch the active workspace |
olav workspace list/use |
Manage Workspaces |
✅ |
v0.10.0 |
| C-L2-13 |
Initialize project directory structure + admin user + embedding model |
olav init |
Installation |
✅ |
v0.17.0 |
| C-L2-27 |
Reset Agent conversation history |
olav reset --agent <name> |
CLI Commands |
✅ |
v0.10.0 |
Skill Management
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-04 |
Install a Skill from a local directory (single or multi-workspace) |
olav skill install <path> |
Build a Skill |
✅ |
v0.17.0 |
| C-L2-25 |
Install a Skill from a Git URL |
olav skill install <url> |
Build a Skill |
✅ |
v0.10.0 |
| C-L2-06 |
Append tools to an existing workspace |
olav skill install --merge-into |
Build a Skill |
✅ ⚠️ |
v0.10.0 |
| C-L2-36 |
List and view installed skill status |
olav skill list/status |
Manage Workspaces |
✅ |
v0.10.0 |
| C-L2-37 |
Skills declaring Python dependencies auto-create an isolated venv |
requires_packages in MANIFEST |
Build a Skill |
✅ |
v0.10.0 |
Service Registry
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-19 |
Register an OpenAPI service with one command |
olav registry register <url> |
Connect a Service |
✅ |
v0.10.0 |
| C-L2-20 |
DevOps agent generates environment-aware automation scripts |
olav --agent devops "write script..." |
DevOps Agent |
✅ |
v0.13.0 |
Audit and Logs
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-08 |
Query audit logs and list recent operations |
olav log list/errors |
Audit and Logs |
✅ |
v0.10.0 |
| C-L2-22 |
Export audit data in training formats |
olav log export trajectory/sft/atif |
Audit and Logs |
✅ |
v0.10.0 |
| C-L2-12 |
Multi-user concurrent audit with no write conflicts |
5 concurrent olav log list |
Audit and Logs |
✅ |
v0.10.0 |
Background Services
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-16 |
Web service provides browser UI and REST API (HTTP + HTTPS cookie support) |
olav service web start |
Background Services |
✅ |
v0.17.0 |
| C-L2-17 |
Daemon accelerates CLI responses |
olav service daemon start |
Background Services |
✅ |
v0.10.0 |
| C-L2-18 |
Syslog receiver accepts network device logs (SO_REUSEADDR) |
olav service logs start |
Background Services |
✅ |
v0.17.0 |
HTTP API
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-29 |
SSE streaming query endpoint |
POST /runs/stream |
HTTP API |
✅ |
v0.10.0 |
| C-L2-30 |
Multi-turn conversation thread management |
POST /threads |
HTTP API |
✅ |
v0.10.0 |
Interactive Mode
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-14 |
TUI interactive mode supports multi-turn conversations (via deepagents-cli Textual) |
olav (no arguments) |
First Query |
✅ |
v0.17.0 |
| C-L2-15 |
Resume a previous session |
olav --session <id> |
First Query |
✅ |
v0.10.0 |
| C-L2-24 |
/trace-review analyzes failure patterns and writes to memory |
/trace-review |
Self-Improving Loop |
⚠️ |
v0.10.0 — TUI migration pending |
| C-L2-26 |
Skip tool call confirmation |
olav --auto-approve |
Using Agents |
✅ |
v0.10.0 |
Knowledge Base and Memory
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-21 |
Knowledge base indexes documents and supports semantic search |
olav --agent config "index..." |
Knowledge Base |
✅ |
v0.10.0 |
Users and Authentication
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-23 |
Admin creates/manages users and tokens |
olav admin "add-user..." |
Users and Roles |
✅ |
v0.10.0 |
| C-L2-28 |
Supports multiple authentication modes |
auth.mode config |
Security Model |
✅ |
v0.10.0 |
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-31 |
Core Agent executes Python code |
olav --agent core "run python:..." |
Core Agent |
✅ |
v0.10.0 |
| C-L2-32 |
Core Agent executes SQL queries |
olav --agent core "what tables..." |
Core Agent |
✅ |
v0.10.0 |
| C-L2-33 |
Core Agent web search |
olav --agent core "search:..." |
Core Agent |
✅ |
v0.10.0 |
| C-L2-34 |
Core Agent executes shell commands |
olav --agent core "run: df -h" |
Core Agent |
✅ |
v0.10.0 |
| C-L2-35 |
Config Agent workspace health check |
olav --agent config "health check" |
Core Agent |
✅ |
v0.10.0 |
Export and Integration
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-10 |
Export Claude-compatible plugin |
olav export claude-plugin |
CLI Commands |
✅ |
v0.10.0 |
| C-L2-11 |
Auto-truncate large API responses |
Python SDK |
CLI Commands |
✅ |
v0.10.0 |
Configuration
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L2-38 |
Assign different LLM models to different Agents |
agent_overrides in api.json |
Configuration |
✅ |
v0.10.0 |
| C-L2-39 |
Environment variables override config file |
OLAV_LLM_* |
Configuration |
✅ |
v0.10.0 |
| C-L2-40 |
olav log show <run-id> displays full event sequence |
olav log show <id> |
Audit and Logs |
✅ |
v0.10.0 |
| C-L2-41 |
Service management: status / start --all / stop --all |
olav service status/start --all/stop --all |
Background Services |
✅ |
v0.10.0 |
| C-L2-42 |
Web API introspection: /openapi.json, /docs, /threads/search |
GET /openapi.json GET /docs |
HTTP API |
✅ |
v0.10.0 |
| C-L2-43 |
olav workspace status shows Agent status |
olav workspace status |
Manage Workspaces |
✅ |
v0.10.0 |
| C-L2-44 |
Admin rotate-token and add-user --expires |
olav admin "rotate-token <n>" |
Users and Roles |
✅ |
v0.10.0 |
| C-L2-45 |
Audit database queryable directly via DuckDB |
duckdb .olav/databases/audit.duckdb |
Audit and Logs |
✅ |
v0.10.0 |
| C-L2-46 |
/model <name> switches LLM model within a session |
TUI: /model gpt-4o-mini |
CLI Reference |
✅ |
v0.10.0 |
| C-L2-47 |
@file.txt file content injection |
TUI: @/path/to/file.txt |
CLI Reference |
✅ |
v0.10.0 |
| C-L2-48 |
!command shell passthrough |
TUI: !echo hello |
CLI Reference |
✅ |
v0.10.0 |
| C-L2-49 |
--sandbox modal/daytona/runloop remote sandbox flag |
olav --sandbox modal version |
Agent Harness |
✅ |
v0.10.0 |
| C-L2-50 |
olav registry list/refresh/status |
olav registry list |
Connect a Service |
✅ |
v0.10.0 |
| C-L2-51 |
olav config evolve --list/--approve |
olav config evolve --list |
CLI Reference |
✅ |
v0.10.0 |
NetOps Extension Claims
Quick Start
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-NE-01 |
/netops_init --dry-run passes environment checks + validates Nornir inventory |
/netops_init --dry-run |
Quick Start |
✅ |
v0.17.0 |
| C-NE-02 |
olav list includes all 9 agents (core + 8 netops) after single skill install |
olav list |
Quick Start |
✅ |
v0.17.0 |
| C-NE-03 |
/netops_init populates netops.parsed_outputs with platform-aware commands |
/netops_init |
Quick Start |
✅ |
v0.17.0 |
| C-NE-04 |
/netops_init generates topology links + populates netops.devices |
/netops_init |
Quick Start |
✅ |
v0.17.0 |
Concepts
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-NE-05 |
Snapshots produce unique snapshot_id shared across tables |
execute_sql |
Concepts |
✅ |
v0.10.0 |
| C-NE-06 |
Custom TextFSM templates take priority over NTC built-ins |
manual test |
Concepts |
✅ |
v0.10.0 |
| C-NE-07 |
CommandRegistry.reload() picks up new templates without restart |
Python API |
Concepts |
✅ |
v0.10.0 |
| C-NE-08 |
netops.devices populated by Device ETL from parsed_outputs (hostname, ip, platform, vendor, model, os_version) |
SELECT * FROM netops.devices |
Database Schema |
✅ |
v0.17.0 |
| C-NE-09 |
BGP data queried directly from netops.parsed_outputs (no auto-generated views) |
SELECT parsed_data FROM netops.parsed_outputs WHERE command='show ip bgp summary' |
Database Schema |
✅ |
v0.17.0 |
| C-NE-10 |
netops.topology_links includes discovery_protocol |
SELECT discovery_protocol FROM netops.topology_links |
Database Schema |
✅ |
v0.10.0 |
| C-NE-11 |
netops.raw_output_store preserves latest raw CLI output |
SELECT * FROM netops.raw_output_store LIMIT 5 |
Database Schema |
✅ |
v0.10.0 |
| C-NE-12 |
nornir/hosts.yaml defines device inventory |
manual test |
Configuration |
✅ |
v0.10.0 |
| C-NE-13 |
blacklisted_commands.yaml supports regex; invalid patterns skipped |
manual test |
Configuration |
✅ |
v0.10.0 |
| C-NE-14 |
cron_schedules.yaml customizes trace_learner schedule |
crontab -l |
Configuration |
✅ |
v0.10.0 |
Core Agent
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-NE-15 |
Natural language query returns results from snapshot data |
olav "R1 BGP neighbors?" |
Core Agent |
✅ |
v0.10.0 |
| C-NE-16 |
Blacklisted commands rejected by execute_cli |
manual test |
Core Agent |
✅ |
v0.10.0 |
| C-NE-17 |
/learn_cmd executes command and generates TextFSM template |
/learn_cmd "show version" -d R1 |
Core Agent |
✅ |
v0.10.0 |
| C-NE-18 |
take_snapshot triggers collection + auto-ingest into DB |
take_snapshot |
Core Agent |
✅ |
v0.17.0 |
| C-NE-19 |
Core Agent suggests Ops Agent for complex analysis |
complex query |
Core Agent |
✅ |
v0.10.0 |
Ops Agent
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-NE-20 |
Ops routes analysis queries to Analysis subagent |
olav --agent ops "analyze..." |
Ops Agent |
✅ |
v0.10.0 |
| C-NE-21 |
Ops routes device check queries to Probe subagent |
olav --agent ops "check..." |
Ops Agent |
✅ |
v0.10.0 |
| C-NE-22 |
What-If simulation recalculates connectivity after link failure |
olav --agent ops "simulate..." |
Analysis |
✅ |
v0.10.0 |
| C-NE-23 |
Analysis uses only run_python_simulation, no live device access |
SKILL.md inspection |
Analysis |
✅ |
v0.10.0 |
| C-NE-24 |
execute_cli_parallel validates whitelist before execution |
manual test |
Probe |
✅ |
v0.10.0 |
| C-NE-25 |
Device names restricted to [a-zA-Z0-9_\-.] |
manual test |
Probe |
✅ |
v0.10.0 |
| C-NE-26 |
diff_topology_drift detects link state changes |
olav --agent ops "what changed..." |
Diff |
✅ |
v0.10.0 |
| C-NE-27 |
diff_sql_state compares any table between snapshots |
olav --agent ops "compare..." |
Diff |
✅ |
v0.10.0 |
Lab Agent
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-NE-28 |
deploy_lab builds ContainerLab topology from snapshot data |
olav --agent ops-lab "deploy lab" |
Lab Agent |
🔶 |
v0.10.0 |
| C-NE-29 |
Lab agent pushes SRL config and verifies BGP/OSPF convergence |
olav --agent ops-lab "push config and verify" |
Lab Agent |
🔶 |
v0.10.0 |
| C-NE-30 |
deploy_lab auto-handles SRL topology.yml quirks and veth injection |
internal tool |
Lab Agent |
🔶 |
v0.10.0 |
| C-NE-31 |
Lab agent has no execute_cli — no live device access |
code inspection |
Lab Agent |
✅ |
v0.10.0 |
Audit Agent
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-NE-32 |
Designer guides profile creation interactively |
olav --agent audit-designer "create..." |
Audit Agent |
✅ |
v0.10.0 |
| C-NE-33 |
Auditor executes profile and outputs Markdown report |
olav --agent audit "run..." |
Audit Agent |
✅ |
v0.10.0 |
| C-NE-34 |
Designer validates table/column existence before SQL |
internal validation |
Audit Agent |
✅ |
v0.10.0 |
| C-NE-35 |
analyze_thresholds provides P50/P90/P95 recommendations |
internal tool |
Audit Agent |
✅ |
v0.10.0 |
Infra Agent
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-NE-36 |
olav registry register registers service and generates API reference |
olav registry register <url> |
Infra Agent |
🔶 |
v0.12.0 |
| C-NE-37 |
olav --agent infra queries registered services via api_request |
olav --agent infra "query..." |
Infra Agent |
🔶 |
v0.12.0 |
| C-NE-38 |
api_request returns clear error for unregistered services |
api_request("nonexistent", ...) |
Infra Agent |
✅ |
v0.12.0 |
| C-NE-39 |
Write operations require --enable-api-write + dry-run + mandatory approval |
--enable-api-write |
Infra Agent |
🔶 |
v0.12.0 |
| C-NE-40 |
network_isolation=True sandbox hard-blocks HTTP write operations |
sandbox test |
Infra Agent |
✅ |
v0.12.0 |
DevOps Agent
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-NE-41 |
DevOps agent queries netops.devices before generating scripts |
olav --agent devops "write..." |
DevOps Agent |
✅ |
v0.13.0 |
| C-NE-42 |
Generated scripts include --dry-run + error handling + summary |
script inspection |
DevOps Agent |
✅ |
v0.13.0 |
| C-NE-43 |
Scripts use real device names/IPs from database, not placeholders |
script inspection |
DevOps Agent |
✅ |
v0.13.0 |
| C-NE-44 |
Scripts exported to exports/scripts/ as executable files |
file check |
DevOps Agent |
✅ |
v0.13.0 |
Level 3 — Knowledge Store (UKS)
Top-Level Capability
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L3-UKS |
Unified Knowledge Store: single LanceDB table for documents, memories, and graph nodes |
olav kb status |
Knowledge Base |
✅ |
v0.13.0 |
Schema & Migration
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-KB-01 |
Memory table has origin, confidence, tags columns |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-02 |
add_memory() uses correct defaults when new params omitted |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-03 |
Old-schema tables auto-migrate on first access |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-09 |
migrate_memory_table() infers origin/confidence from metadata.source |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-25 |
migrate_kb_chunks() moves kb_chunks rows to the unified memory table |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-26 |
from olav.core.knowledge raises ImportError after deletion |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-27 |
search_knowledge_lancedb tool file is deleted |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
Capture & Decay
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-KB-04 |
Extracted items contain a tags array |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-05 |
capture writes origin="agent", confidence=importance from LLM response |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-06 |
document origin does NOT decay |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-07 |
agent origin decays normally |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-08 |
High-frequency recall (access_count >= 5) halves the decay rate |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
Graph
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-KB-10 |
materialize_graph() returns a dict with nodes and edges keys |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-11 |
Vector similarity creates implicit similar edges with a weight field |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-12 |
Shared tags create explicit edges through entity nodes |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-15 |
graspologic unavailable → cluster_knowledge() returns None |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
Export & Sync
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-KB-13 |
export_obsidian() generates .md files with YAML frontmatter |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-14 |
export_visjs() generates an HTML file with vis.js content |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-17 |
sync_from_files() UPDATEs entries that have changed on disk |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-18 |
sync_from_files() INSERTs entries for new files |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-19 |
sync_from_files() DELETEs entries when the file is removed |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-20 |
sync_from_files(dry_run=True) does NOT modify data |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
Import & Search
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-KB-21 |
Importing a .md file creates a memory entry with origin='document', confidence=1.0 |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-22 |
hybrid_search() returns results from both agent and document origins |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-28 |
After migrating kb_chunks, search_by_vector() returns entries with origin='document' |
unit test |
Knowledge Base |
✅ |
v0.13.0 |
CLI Commands
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-KB-16 |
olav kb export command is available and exits successfully |
olav kb export |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-23 |
olav kb status outputs knowledge store statistics |
olav kb status |
Knowledge Base |
✅ |
v0.13.0 |
| C-KB-24 |
olav kb graph generates an HTML file |
olav kb graph |
Knowledge Base |
✅ |
v0.13.0 |
Level 4 — Multi-User & Security
| ID |
Claim |
CLI Command |
Doc Page |
Status |
Version |
| C-L4-01 |
olav init auto-creates admin user + writes token to ~/.olav/token + sets auth.mode=token |
olav init |
Users and Roles |
✅ |
v0.14.0 |
| C-L4-02 |
olav admin add-user validates that the Linux user exists before creating a token |
olav admin add-user <name> |
Users and Roles |
✅ |
v0.14.0 |
| C-L4-03 |
olav sessions lists current-user sessions from the audit database |
olav sessions |
Users and Roles |
✅ |
v0.14.0 |
| C-L4-04 |
olav --resume <thread_id> resumes a session across interfaces |
olav --resume <id> |
Users and Roles |
⬜ |
v0.14.0 |
| C-L4-05 |
Thread ownership: non-owner requests return HTTP 403; admin bypasses |
POST /runs/stream |
Security Model |
✅ |
v0.14.0 |
| C-L4-06 |
search_logs tool queries syslog Parquet files via DuckDB |
agent tool |
Background Services |
✅ |
v0.14.0 |
| C-L4-07 |
API server emits startup warning when auth.mode=none |
olav service web start |
Security Model |
✅ |
v0.14.0 |
v0.17.0 New Capabilities
| ID |
Claim |
CLI Command |
Status |
Version |
| C-L2-52 |
olav init auto-downloads embedding model silently |
olav init |
✅ |
v0.17.0 |
| C-L2-53 |
olav skill install supports multi-workspace via workspaces: list |
olav skill install <path> |
✅ |
v0.17.0 |
| C-L2-54 |
olav skill install auto-runs pip install -e when pyproject.toml present |
olav skill install <path> |
✅ |
v0.17.0 |
| C-L2-55 |
POST /reload hot-reloads agent singleton after skill install |
POST /reload |
✅ |
v0.17.0 |
| C-L2-56 |
GET /agents returns dynamic agent list from workspace registry |
GET /agents |
✅ |
v0.17.0 |
| C-L2-57 |
GET /memory/graph serves knowledge graph vis.js page |
GET /memory/graph |
✅ |
v0.17.0 |
| C-L2-58 |
CIDR allowlist middleware for web API |
api.json security.allowed_cidrs |
✅ |
v0.17.0 |
| C-L2-59 |
Semantic cache with auto-invalidation on data ingest |
olav "query" (2nd time) |
✅ |
v0.17.0 |
| C-L2-60 |
Embedding dimension auto-detected from model probe |
detect_embedding_dim() |
✅ |
v0.17.0 |
| C-L2-61 |
Single-query mode uses native langgraph streaming (no deepagents-cli dependency) |
olav "query" |
✅ |
v0.17.0 |
| C-NE-45 |
Platform-aware SSH collection (Junos + IOS command lists) |
/netops_init |
✅ |
v0.17.0 |
| C-NE-46 |
Device ETL extracts IP from show ip interface brief / show interfaces terse |
/netops_init |
✅ |
v0.17.0 |
| C-NE-47 |
Dry-run validates full Nornir inventory (catches group reference mismatches) |
/netops_init --dry-run |
✅ |
v0.17.0 |
Statistics
| Status |
Count |
| ✅ Verified (wheel) |
125 |
| ⬜ Pending |
1 |
| ⚠️ Narrowed |
1 |
| 🔶 Env-Blocked |
6 |
| Total |
133 |
Verification Process
# For each ⬜ Claim:
# 1. Run the CLI command
olav <command for the claim>
# 2. Record the result in dev_docs/23. CLI_VERIFICATION_LOG.md
# 3. Pass → change status to ✅, add version number
# 4. Fail → fix code, narrow the claim, or remove the Claim
# For 🔶 Claims: set up the environment first (LLM API Key / running external service)