Single-commit clean baseline after security scrub of niche-tells, project codenames, internal jargon, and contributor-email leaks. Contents: - 100 Rust crates (_primitives/_rust/) - 37 agent manifests (_manifests/) + generated specs (_generated/) - 67 user-invocable skills (skills/) - 33 hooks (hooks/) - Composition blocks (_blocks/) - Documentation (docs/, README.md) - TS adapter packages (_ts_packages/) - Assembler (_assembler/) - Roles (_roles/) - Templates (_templates/) - Forgejo CI (.forgejo/) Author: Denis Parfionovich <info@greendragon.info> License: see LICENSE.
74 lines
1.8 KiB
Markdown
74 lines
1.8 KiB
Markdown
---
|
|
atom: kei-task::search
|
|
kind: query
|
|
version: "0.1.0"
|
|
|
|
input:
|
|
schema: schemas/search-input.json
|
|
required: [query]
|
|
example: { query: "refactor", limit: 20 }
|
|
|
|
output:
|
|
schema: schemas/search-output.json
|
|
example:
|
|
results:
|
|
- { id: 42, title: "refactor router", status: "pending", priority: "high" }
|
|
|
|
errors:
|
|
- code: InvalidQuery
|
|
http_analog: 400
|
|
description: "FTS5 rejected the query syntax"
|
|
- code: StoreError
|
|
http_analog: 500
|
|
description: "Underlying SQLite store failed during read"
|
|
|
|
side_effects: []
|
|
idempotent: true
|
|
timeout_ms: 5000
|
|
|
|
deprecated: null
|
|
stability: stable
|
|
|
|
keywords: [task, search, fts, lookup, query]
|
|
related:
|
|
- "[[kei-task::create]]"
|
|
- "[[kei-task::add-dependency]]"
|
|
---
|
|
|
|
# kei-task::search
|
|
|
|
Runs a FTS5 full-text search over task titles + descriptions and
|
|
returns matches ordered by `rank` (FTS5 BM25 relevance).
|
|
|
|
## Example
|
|
|
|
kei-task search "refactor" --limit 10
|
|
|
|
Tab-separated on stdout, one row per hit:
|
|
|
|
42 pending refactor router
|
|
57 in_progress refactor auth layer
|
|
|
|
Programmatic callers receive a typed array:
|
|
|
|
{
|
|
"results": [
|
|
{ "id": 42, "title": "refactor router", "status": "pending", ... }
|
|
]
|
|
}
|
|
|
|
## Gotchas
|
|
|
|
- `limit` defaults to 20 and is clamped to a positive integer — pass
|
|
`0` or negative and the implementation silently uses 20.
|
|
- Query uses FTS5 syntax — phrase search needs double quotes inside
|
|
the query string (shell escape required).
|
|
- Returned rows always include the full `Task` shape; callers that
|
|
only need `id` should project client-side.
|
|
- Results are ordered by FTS rank, NOT by `created_at` — recent tasks
|
|
may be returned in the middle of the result set.
|
|
|
|
## Related
|
|
|
|
- [[kei-task::create]] — tasks only appear here once created
|
|
- [[kei-task::add-dependency]] — traverse from a search hit into the DAG
|