fix: correct PROXY_CALLERS raw key format + session 6 facts
- agent_prompts.md: store raw keys in PROXY_CALLERS (app.py hashes internally); pre-hashing caused double-hash → all jenkins auth failed - context.md: session 6 facts — Phase 1 complete, PROXY_CALLERS bug fixed, behavior_changes table created, Jenkinsfile shell operator bug logged (id=1), next session: fix Jenkinsfile then launch Phase 2 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -504,5 +504,26 @@ Key finding this session: secrets-proxy /shell only accepts target=sandbox or ta
|
||||
**Phase 3** (1 agent):
|
||||
11. id=155 — required_playbooks precision pass (needs id=154 from Phase 2)
|
||||
|
||||
### 2026-06-27 Sprint Day 11 session 1 facts (midnight)
|
||||
- Phase 1 ALL COMPLETE ✅ — all 5 agents finished:
|
||||
- id=163: secrets-proxy restarted (jenkins key active)
|
||||
- id=164: sudo-bridge compose IP fixed (192.168.1.88→192.168.1.90)
|
||||
- Hermes config: hermes-cli added to platform_toolsets.telegram, Hermes healthy
|
||||
- container-health-sweep SKILL.md: created on server-01
|
||||
- semantic-recall SKILL.md: created on server-01
|
||||
- behavior_changes table CREATED in api_business DB
|
||||
- Bug id=1 LOGGED: Jenkinsfile shell operators (&& and ||) incompatible with secrets-proxy shlex.split — all compound commands fail at secrets-proxy /shell
|
||||
- PROXY_CALLERS format bug DISCOVERED + FIXED: app.py expects raw keys (not pre-hashed); P1-1 agent pre-hashed them causing double-hash → 403 on all auth; fixed by restart with raw keys
|
||||
- Jenkins internal URL: http://192.168.1.90:8090 (direct — Cloudflare blocks automated API calls without service token)
|
||||
- Jellyfin jellyfin verify: FAILED (two bugs — auth now fixed, shell operators still broken)
|
||||
- agent_prompts.md FIXED: PROXY_CALLERS raw key format corrected in P1-1 and P2-1
|
||||
- New anti-patterns added to playbook: PROXY_CALLERS pre-hashing, tier-2 wildcard shadowing, NTFY reliability
|
||||
|
||||
#### After /compact — next session:
|
||||
1. Fix Jenkinsfile shell operator bug: split compound commands into separate secrets-proxy calls (affects all 34 Jenkins jobs using standard-redeploy.Jenkinsfile)
|
||||
2. Re-run jellyfin Jenkins verify after fix
|
||||
3. Launch Phase 2 (5 parallel agents): id=161, id=154, content repurposing, id=135, id=112
|
||||
4. After Phase 2 id=154 completes: launch Phase 3 (id=155)
|
||||
|
||||
## Update instructions
|
||||
Update at the end of every agent-builder session. Keep agent status, key decisions, and prereq checklist current.
|
||||
|
||||
@@ -51,9 +51,11 @@ db = vread(tok, 'postgres/secrets-proxy')
|
||||
ntfy = vread(tok, 'ntfy/secrets-proxy-bot')
|
||||
urllib.request.urlopen(urllib.request.Request(f'{VAULT_ADDR}/v1/auth/token/revoke-self', data=b'{}', headers={'X-Vault-Token': tok, 'Content-Type':'application/json'}, method='POST'))
|
||||
|
||||
ch = {n: hashlib.sha256(k.encode()).hexdigest() for n, k in callers.items()}
|
||||
|
||||
# IMPORTANT: store RAW keys — app.py hashes them internally via CALLER_KEY_TO_NAME
|
||||
# Do NOT pre-hash: storing hashed keys causes double-hash, all auth fails
|
||||
lines = [
|
||||
f'PROXY_CALLERS={json.dumps(ch)}',
|
||||
f'PROXY_CALLERS={json.dumps(callers)}',
|
||||
'VAULT_PROD_ADDR=http://192.168.1.88:8200',
|
||||
f'VAULT_PROD_ROLE_ID={approle.get("role_id","")}',
|
||||
f'VAULT_PROD_SECRET_ID={approle.get("secret_id","")}',
|
||||
@@ -480,6 +482,7 @@ Write a Python script that:
|
||||
|
||||
Run the same restart_proxy.py pattern from id=163 (already in your instructions above).
|
||||
The script reads proxy/callers from Vault (now includes hermes) and restarts with updated PROXY_CALLERS.
|
||||
IMPORTANT: Store raw keys in PROXY_CALLERS (not pre-hashed) — app.py hashes internally. Use json.dumps(callers) not json.dumps({n: sha256(k) for n,k in callers.items()}).
|
||||
Script template is identical to P1-1 — write it fresh to /tmp/restart_proxy_161.py and run it.
|
||||
Verify: curl http://172.16.16.12:8080/health returns 200.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user