-
Notifications
You must be signed in to change notification settings - Fork 64
Fix/artifact id path traversal #150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
0ed8a89
901363d
e427404
b2e3db1
0708c74
23290a0
df6e9d3
e142849
f558fd0
534cae6
8c45a91
e773aba
7d7a835
555acfc
5c881de
423c1dd
b24dc3c
079da73
c5eac6a
e3472e7
a764129
f2528a2
eafeed6
f57917c
a5f074f
623c2e2
7843182
cdd6fe6
e8dd575
6047ddc
bbeb8e5
74f7a6a
5d87d9b
a0ee15c
6c98431
16afe71
696f028
d6964e8
5485ff8
bbd59f9
503218b
297cafc
d12e7dd
1041045
243bdb4
c18edf4
ab54194
cf648b0
816d3d0
cdf72ab
fb4b326
e7df047
7fd2fed
972e2d7
6412bac
d7a0efd
4b5b325
aef6252
c8f1613
119a787
731ca51
03d176f
05d9ee7
f1dc9b3
7c8bd79
5122925
53abfb8
bcff1d6
cff1265
50ddf61
713b777
e6f6b54
9a67aa6
e5c7b8c
53f880b
e31155e
7fa2104
9445e9a
8311441
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -62,7 +62,9 @@ vouch status # one-line summary | |
| vouch pending # list pending proposals | ||
| vouch show <id> # full details | ||
| vouch approve <id> # → durable artifact | ||
| vouch approve <id> <id> ... # approve several reviewed proposals at once | ||
| vouch reject <id> --reason "..." | ||
| vouch expire --apply # optional: clear stale pending proposals | ||
|
|
||
| # 4. commit | ||
| git add .vouch/ && git commit -m "kb: approve auth-uses-jwt" | ||
|
|
@@ -143,11 +145,14 @@ vouch capabilities # emit the JSON capabilities descrip | |
| vouch status [--json] # KB counts + pending proposals | ||
| vouch lint [--stale-days N] # user-actionable problems | ||
| vouch doctor # full sweep incl. source verification | ||
| vouch fsck # deep consistency: indexes, lifecycle, decided | ||
|
|
||
| vouch pending # list pending proposals | ||
| vouch review [--limit N] [--type KIND] # guided proposal review queue | ||
| vouch show <proposal-id> | ||
| vouch approve <proposal-id> [--reason ...] | ||
| vouch approve <proposal-id>... [--reason ...] [--keep-going] | ||
| vouch reject <proposal-id> --reason "..." | ||
| vouch expire [--apply] [--days N] [--json] # GC stale pending proposals | ||
|
|
||
| vouch propose-claim --text ... --source ... [--type ...] [--confidence X] | ||
| vouch propose-page --title ... [--body -] [--claim ID ...] | ||
|
|
@@ -176,6 +181,8 @@ vouch export --out path.tar.gz | |
| vouch export-check path.tar.gz | ||
| vouch import-check path.tar.gz | ||
| vouch import-apply path.tar.gz [--on-conflict skip|overwrite|fail] | ||
| vouch sync-check PATH_OR_BUNDLE | ||
| vouch sync-apply PATH_OR_BUNDLE [--on-conflict fail|skip|propose] | ||
|
|
||
| vouch serve [--transport stdio|jsonl] | ||
| ``` | ||
|
|
@@ -254,11 +261,11 @@ vouch import-apply kb.tar.gz --on-conflict skip # apply (default skip; never de | |
| | Area | Current support | | ||
| |------|-----------------| | ||
| | Knowledge base | `.vouch/` folder, YAML claims/entities/relations/evidence/sessions, markdown pages with frontmatter, JSONL audit log, content-addressed sources | | ||
| | CLI | `init`, `discover`, `capabilities`, `status`, `lint`, `doctor`, `pending`, `show`, `approve`, `reject`, `propose-{claim,page,entity,relation}`, `source add`, `source verify`, `supersede`, `contradict`, `archive`, `confirm`, `cite`, `session {start,end}`, `crystallize`, `search`, `context`, `index`, `audit`, `export`, `export-check`, `import-check`, `import-apply`, `serve` | | ||
| | CLI | `init`, `discover`, `capabilities`, `status`, `lint`, `doctor`, `fsck`, `pending`, `show`, `approve`, `reject`, `propose-{claim,page,entity,relation}`, `source add`, `source verify`, `supersede`, `contradict`, `archive`, `confirm`, `cite`, `session {start,end}`, `crystallize`, `search`, `context`, `index`, `audit`, `export`, `export-check`, `import-check`, `import-apply`, `serve` | | ||
| | Tool servers | MCP over stdio + JSONL over stdin/stdout, same `kb.*` surface across both transports, capabilities + knowledge-capability descriptor | | ||
| | Schemas | 13 JSON Schemas (Draft 2020-12) generated from pydantic in [schemas/](schemas/), plus hand-maintained `bundle.manifest` and `jsonl-envelope` schemas | | ||
| | Write safety | review-gated writes via [proposed/](spec/review-gate.md), `dry_run:true` previews, host trust required for `approve`/`reject`, atomic exclusive-create storage, path-traversal blocked on source intake and bundle import | | ||
| | Retrieval | SQLite FTS5 + substring fallback; optional semantic backends (`all-mpnet-base-v2`, `MiniLM-L6`, fastembed-BGE) behind install extras; context packs with citations + quality gate | | ||
| | Retrieval | `retrieval.backend` in `config.yaml` selects the path: `auto` (default — embedding → FTS5 → substring), `embedding`, `fts5`, or `substring`. Semantic backends (`all-mpnet-base-v2`, `MiniLM-L6`, fastembed-BGE) ship behind install extras; `auto` degrades to FTS5 when they aren't installed. Context packs with citations + quality gate | | ||
| | Lifecycle | `supersede`, `contradict`, `archive`, `confirm`, `cite` — direct mutations, all audited | | ||
| | Portability | tar.gz bundles with per-file sha256 `manifest.json`, `export-check`, `import-check`, `import-apply` with skip/overwrite/fail conflict modes | | ||
| | Audit | append-only `audit.log.jsonl`, per-event actor (`VOUCH_AGENT`), object ids, dry-run flag, reversible flag | | ||
|
|
@@ -268,7 +275,7 @@ vouch import-apply kb.tar.gz --on-conflict skip # apply (default skip; never de | |
|
|
||
| ## Status | ||
|
|
||
| Pre-1.0. What's *not* in this implementation: vector embeddings (BM25/FTS5 only), per-runtime adapter templates, benchmark fixtures, multi-agent sync, scopes beyond a single field on Claim/Source. If a hole matters to you, file an issue. | ||
| Pre-1.0. What's *not* in this implementation: per-runtime adapter templates, benchmark fixtures, multi-agent sync, scopes beyond a single field on Claim/Source. If a hole matters to you, file an issue. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove the stale “multi-agent sync” limitation. This line still says multi-agent sync is not implemented, but this PR adds 🤖 Prompt for AI Agents |
||
|
|
||
| ## License | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update the capability table to match the documented CLI surface.
This row is now missing shipped commands that are documented above in the same README, including
review,expire,sync-check,sync-apply, anddiff. Readers scanning “What ships today” will get an outdated surface summary.🤖 Prompt for AI Agents