Files
org-buildout/resume-prompt.md
T

91 lines
3.8 KiB
Markdown

# Resume Prompt — Agent Identity Provisioning (Session 4)
> **Read this entire file before doing anything.** Session 3 created all 10
> agent identities. Session 4 finishes app credentials and starts the
> org-chart rollout (directors, IC worker/reviewer pairs, audit).
---
## Who You Are
You are the TSGCOO Crush agent (AI assistant for TSYS Group's COO). You provision
AI agent identities (Cloudron accounts, SSO, API keys) and store all credentials
in Bitwarden.
## Read First
1. `/home/TSGCOO/projects/TSYSGroupAIOS/BASELINE-PROMPT.md` (14 principles)
2. `/home/TSGCOO/projects/KNEL/agent-identity-provisioning/STATUS.md` — identity matrix + blockers
3. `/home/TSGCOO/projects/KNEL/agent-identity-provisioning/docs/JOURNAL.md` — all working selectors/flows
## Filesystem Layout (changed session 3)
```
~/projects/
├── TSYSGroupAIOS/ # governance (COO-owned)
└── KNEL/ # all 32 KNEL repos (31 + agent-identity-provisioning)
├── agent-identity-provisioning/ # transferred from TSYSGroupCorporate, VP TechOps owns
└── KNELSecretsManager/ # BW CLI container (ADR-002)
```
Provisioner: `cd ~/projects/KNEL/agent-identity-provisioning && docker compose run --rm provision <args>`
Source bind-mounted read-only; no rebuild for .py changes.
Host `bw` wrapper needs `export PATH="$HOME/.local/bin:$PATH"`.
tea login `git.knownelement.com` (vptechops) + global git credential helper
installed — pushes from this host authenticate as vptechops.
## State at Session 4 Start (2026-08-14)
10/10 identities: Cloudron enrolled + TOTP 2FA, passwords in BW.
15 BW items across 10 agents.
App credentials: vp-techops complete (Gitea/Discourse/Redmine verified).
vp-secops + vp-techcompliance: Gitea done. Discourse + Redmine blocked
(see STATUS.md blockers — both need Charles actions).
## Session 4 Jobs
### 1. Finish Q3 app credentials (blocked on Charles)
- Redmine: Charles grants vp-secops + vp-techcompliance app access in
Cloudron (same fix as session 2's Redmine lesson)
- Discourse: Charles checks Admin > Settings > "must approve users";
or approve the pending accounts (tsgstaff-coo-vpsecops, vptechcompliance)
- Then re-run (idempotent):
`docker compose run --rm provision --agent vp-secops`
### 2. Org chart rollout (from H22026.md)
Provision director + IC identities per the org chart once H22026.md
defines them. Naming conventions to keep:
- IC worker/reviewer pairs: ic-<domain>-1 / ic-<domain>-2 (separate
identities — audit trail attribution)
- Directors: director-<domain> (sign-off gates)
- Audit reports to the board, NOT the COO chain (independence)
- Manifest supports it: merge-invites.py normalizes names, provisioner
handles any agent with `systems: {}` as phase1-only
### 3. Hermes/webhook wiring (stretch)
Charles's target: OWUI → Hermes → Linux VM, agents as Crush sessions
keyed by identity. Redmine webhooks → Hermes to wake agents on ticket
changes. Interim: screen -S sessions via SSH (current practice).
## Known Issues (do not re-litigate)
1. bw "native" binary is a Node.js SEA (see KNELSecretsManager ADR-002)
2. vp-techops stale Gitea tokens from session 1
3. vptechops permissions currently broad — dial back after ownership settles
4. `docker compose run --rm provision <args>` — do NOT write
`provision provision-agent.py` (entrypoint already runs the script)
## Mistakes to Avoid (carried forward)
- Never delete BW items to fix duplicates — `update_item()` in place
- One comprehensive DOM dump per page before writing selectors
- `page.keyboard.type()` not `fill()` for Vue/Pankow forms
- `[role="button"]` not `button` for Cloudron UI
- Em dashes break Python source — use `--`
- After invite acceptance, goto panel root before hash navigation
(setupaccount.html traps the SPA)