fix(agent-pod): install rust+gcc toolchain, symlink go, drop brave-search skill
poiman is Rust, portfolio is Go -- neither toolchain was reachable from an interactive kubectl exec session (go's PATH export was local to its own install script; rust was entirely absent, and cargo needs gcc as a linker which also wasn't present). brave-search was just a curl one-liner wrapped in its own skill file -- inlined the same curl command directly into info-collector/investigator's instructions instead of dispatching to a separate skill for it.
This commit is contained in:
@@ -56,7 +56,7 @@ spec:
|
|||||||
- -c
|
- -c
|
||||||
- |
|
- |
|
||||||
set -e
|
set -e
|
||||||
apt-get update && apt-get install -y git curl jq openssh-client tmux python3 sqlite3
|
apt-get update && apt-get install -y git curl jq openssh-client tmux python3 sqlite3 gcc build-essential
|
||||||
ssh-keygen -y -f /root/.ssh/id_forgejo > /root/.ssh/id_forgejo.pub
|
ssh-keygen -y -f /root/.ssh/id_forgejo > /root/.ssh/id_forgejo.pub
|
||||||
eval "$(ssh-agent -s)"
|
eval "$(ssh-agent -s)"
|
||||||
ssh-add /root/.ssh/id_forgejo
|
ssh-add /root/.ssh/id_forgejo
|
||||||
@@ -69,6 +69,19 @@ spec:
|
|||||||
https://github.com/Riotpiaole/agent-manager.git /root/agent-manager-src
|
https://github.com/Riotpiaole/agent-manager.git /root/agent-manager-src
|
||||||
(cd /root/agent-manager-src && go build -o /usr/local/bin/agent-manager .)
|
(cd /root/agent-manager-src && go build -o /usr/local/bin/agent-manager .)
|
||||||
|
|
||||||
|
# Language toolchains for whatever repos the implementer/investigator/
|
||||||
|
# judge roles actually build and test -- go was already fetched above
|
||||||
|
# only for building agent-manager itself, and its PATH export above is
|
||||||
|
# local to this script, invisible to `kubectl exec` sessions into the
|
||||||
|
# already-running container. Symlinking both into /usr/local/bin (on
|
||||||
|
# PATH for every exec session, interactive or not) instead of relying
|
||||||
|
# on shell rc sourcing, which pi's non-interactive tool calls don't do.
|
||||||
|
ln -sf /usr/local/go/bin/go /usr/local/bin/go
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
|
||||||
|
ln -sf /root/.cargo/bin/cargo /usr/local/bin/cargo
|
||||||
|
ln -sf /root/.cargo/bin/rustc /usr/local/bin/rustc
|
||||||
|
ln -sf /root/.cargo/bin/rustup /usr/local/bin/rustup
|
||||||
|
|
||||||
node /root/hub.js
|
node /root/hub.js
|
||||||
env:
|
env:
|
||||||
- name: PI_BIN
|
- name: PI_BIN
|
||||||
@@ -140,8 +153,6 @@ spec:
|
|||||||
path: judge/SKILL.md
|
path: judge/SKILL.md
|
||||||
- key: resolver-SKILL.md
|
- key: resolver-SKILL.md
|
||||||
path: resolver/SKILL.md
|
path: resolver/SKILL.md
|
||||||
- key: brave-search-SKILL.md
|
|
||||||
path: brave-search/SKILL.md
|
|
||||||
- name: hub-src
|
- name: hub-src
|
||||||
configMap:
|
configMap:
|
||||||
name: hub-src
|
name: hub-src
|
||||||
|
|||||||
@@ -1,44 +1,5 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
data:
|
data:
|
||||||
brave-search-SKILL.md: |
|
|
||||||
---
|
|
||||||
name: brave-search
|
|
||||||
description: Web search via the Brave Search API, called directly with curl. Use for searching documentation, facts, or any current web content.
|
|
||||||
allowed-tools: Bash
|
|
||||||
---
|
|
||||||
|
|
||||||
# Brave Search
|
|
||||||
|
|
||||||
Direct HTTP call to the Brave Search API — no separate script or package, just `curl` (`BRAVE_API_KEY` is already set in the environment).
|
|
||||||
|
|
||||||
## Search
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -s -H "Accept: application/json" -H "X-Subscription-Token: $BRAVE_API_KEY" \
|
|
||||||
--get --data-urlencode "q=<query>" --data-urlencode "count=5" \
|
|
||||||
"https://api.search.brave.com/res/v1/web/search"
|
|
||||||
```
|
|
||||||
|
|
||||||
Options (add as extra `--data-urlencode` pairs):
|
|
||||||
- `count=<n>` — number of results (max 20, default 5)
|
|
||||||
- `country=<code>` — two-letter country code (default US)
|
|
||||||
- `freshness=pd|pw|pm|py` — past day/week/month/year, or `freshness=YYYY-MM-DDtoYYYY-MM-DD`
|
|
||||||
|
|
||||||
Response is JSON; the results live at `.web.results[]`, each with `title`, `url`, `description`, `age`. Pipe through `jq` if you want a shorter view, e.g.:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -s -H "Accept: application/json" -H "X-Subscription-Token: $BRAVE_API_KEY" \
|
|
||||||
--get --data-urlencode "q=<query>" "https://api.search.brave.com/res/v1/web/search" \
|
|
||||||
| jq -r '.web.results[] | "- \(.title)\n \(.url)\n \(.description)\n"'
|
|
||||||
```
|
|
||||||
|
|
||||||
There's no page-content-extraction helper here — if a result needs reading in full, `curl` the URL directly and read the raw HTML/text; don't expect readability-cleaned markdown.
|
|
||||||
|
|
||||||
## When to Use
|
|
||||||
|
|
||||||
- Searching for documentation or API references
|
|
||||||
- Looking up facts or current information
|
|
||||||
- Confirming a claim or approach against real sources
|
|
||||||
implementer-SKILL.md: |
|
implementer-SKILL.md: |
|
||||||
---
|
---
|
||||||
name: implementer
|
name: implementer
|
||||||
@@ -74,7 +35,7 @@ data:
|
|||||||
|
|
||||||
**Modes:**
|
**Modes:**
|
||||||
|
|
||||||
- **Collect mode** (default) — use the `brave-search` skill (`curl` against the Brave Search API) with varied queries to cover the topic from multiple angles, then produce a structured summary: topic areas found, key facts, and links to sources for each. Do not editorialize about which approach is "right" — that's out of scope for this skill.
|
- **Collect mode** (default) — search the web (`curl` against `https://api.search.brave.com/res/v1/web/search`, header `X-Subscription-Token: $BRAVE_API_KEY`, `--data-urlencode "q=<query>"`) with varied queries to cover the topic from multiple angles, then produce a structured summary: topic areas found, key facts, and links to sources for each. Do not editorialize about which approach is "right" — that's out of scope for this skill.
|
||||||
- If asked to write the summary to a file, write it and report the path; otherwise return it directly in your response.
|
- If asked to write the summary to a file, write it and report the path; otherwise return it directly in your response.
|
||||||
investigator-SKILL.md: |
|
investigator-SKILL.md: |
|
||||||
---
|
---
|
||||||
@@ -85,7 +46,7 @@ data:
|
|||||||
|
|
||||||
Check whether the plan's claims about the real world are actually true right now. Cite sources; don't assert without one.
|
Check whether the plan's claims about the real world are actually true right now. Cite sources; don't assert without one.
|
||||||
|
|
||||||
- Read `PLAN.md` and the spec docs on disk. For each claim depending on external facts (a library's current API, a service's behavior), use `brave-search` to confirm or refute it. Append a `## Investigation` section to `PLAN.md`: each claim, its source(s), PASS/FLAG. Commit: `git add PLAN.md && git commit -m "investigate: confirm plan against sources"`.
|
- Read `PLAN.md` and the spec docs on disk. For each claim depending on external facts (a library's current API, a service's behavior), search the web (`curl` against `https://api.search.brave.com/res/v1/web/search`, header `X-Subscription-Token: $BRAVE_API_KEY`) to confirm or refute it. Append a `## Investigation` section to `PLAN.md`: each claim, its source(s), PASS/FLAG. Commit: `git add PLAN.md && git commit -m "investigate: confirm plan against sources"`.
|
||||||
- No `PLAN.md`? Just answer the question asked, citing sources.
|
- No `PLAN.md`? Just answer the question asked, citing sources.
|
||||||
|
|
||||||
Flag unconfirmed/contradicted claims rather than silently fixing them — that decision belongs to whoever reads the flag next.
|
Flag unconfirmed/contradicted claims rather than silently fixing them — that decision belongs to whoever reads the flag next.
|
||||||
|
|||||||
Reference in New Issue
Block a user