70 lines
2.2 KiB
Markdown
70 lines
2.2 KiB
Markdown
# Link Two Entries Through Bundled CLI
|
|
|
|
## Test Type
|
|
|
|
- forward skill execution
|
|
|
|
## Purpose
|
|
|
|
- validate that a single agent can use `skills/repo-memory/` to add two durable
|
|
knowledge entries, create a relation between them through the bundled CLI,
|
|
and leave a durable graph edge in the SQLite database
|
|
|
|
## Preconditions
|
|
|
|
- `skills/repo-memory/assets/repo-memory` exists and is executable
|
|
- the test runner can create a temporary Git repository fixture
|
|
- the test runner can create a temporary SQLite DB path
|
|
- the repository fixture includes any evidence files needed for the two entries
|
|
|
|
## Inputs
|
|
|
|
- `SKILL_PATH=/.../skills/repo-memory`
|
|
- `TMPDIR=/tmp/...`
|
|
- `DB_PATH=TMPDIR/repo-memory.db`
|
|
- `REPO_PATH=TMPDIR/repo-fixture`
|
|
|
|
## Execution Parameters
|
|
|
|
- one agent only
|
|
- per-agent timeout: `3m`
|
|
- overall timeout: `4m`
|
|
|
|
## Execution Steps
|
|
|
|
1. Create a temporary Git repository fixture under `REPO_PATH`.
|
|
2. Add any files needed to justify two durable knowledge entries.
|
|
3. Ask the agent to use `$repo-memory` against `DB_PATH`.
|
|
4. Have the agent add one `term` entry and one `chain` entry for the same repo.
|
|
5. Have the agent link the first entry to the second with relation
|
|
`related_to`.
|
|
6. Capture the agent summary and the concrete entry ids it reports.
|
|
|
|
## Validation Commands
|
|
|
|
Run these from the main thread after the agent stops:
|
|
|
|
```bash
|
|
SKILL_PATH/assets/repo-memory list --db DB_PATH --repo REPO_PATH
|
|
SKILL_PATH/assets/repo-memory events --db DB_PATH --id 1
|
|
SKILL_PATH/assets/repo-memory events --db DB_PATH --id 2
|
|
sqlite3 DB_PATH "SELECT relation FROM knowledge_links WHERE from_entry_id = 1 AND to_entry_id = 2;"
|
|
```
|
|
|
|
## Expected Outcomes
|
|
|
|
- both `add` calls succeed and leave two queryable entries
|
|
- `link` succeeds and reports the relation textually
|
|
- the final SQL validation returns one `related_to` row
|
|
|
|
## Assertions
|
|
|
|
- the agent used the bundled CLI for entry creation and relation creation
|
|
- the relation is durable in the packaged SQLite DB, not just mentioned in the summary
|
|
- both entries remain independently inspectable through `events`
|
|
|
|
## Cleanup
|
|
|
|
- keep the temporary DB and repo on failure
|
|
- remove temporary artifacts on success only if replay evidence is not needed
|