Skip to content

Latest commit

 

History

History
33 lines (24 loc) · 5.62 KB

TODO.md

File metadata and controls

33 lines (24 loc) · 5.62 KB

Agent Task Queue — CI-Hub

Agents: pick work from ## Ready, move to ## In Progress when starting, and clear or block when done. Workflow: docs/agent/AGENT_WORKFLOW.md


Ready

  • drive-llamacpp-lmstudio — run a real llama-server and a real LM Studio against the conformance harness; replace the unmeasured SPEC_DECODE rows and the "not measured" conformance skips with findings, and move either engine out of chatOnly() if it proves /v1/completions or /v1/embeddings
  • did-sign-in-step-up — make linking a DID ask for the current password (or a TOTP code) the way changing the password does; a person who only signs in through Portal has no local password, so decide what they are asked for (docs/security/hub-portal-trust.md#sign-in-with-a-did)
  • did-sign-in-first-signer — run the DID sign-in against a real signer. Whether any Local.Pub client or wallet will sign a Hub challenge is unknown and untested; a Local.Pub account's DID authentication key can be written as a did:key but can rotate, and a rotation orphans the link. Then add the SIOPv2 request-object transport. Until then nothing has produced a token for this Hub outside the tests
  • did-sign-in-link-surface — give a person a way to see and remove their DID links (a screen, cihub, or both), and decide whether a password change, the operator password reset, a Portal removal or an unlink should list or drop them or end the sessions a DID opened; today nothing but the generated client calls the routes, every recovery path leaves the links, and an unlink ends no session (docs/system/backend.md#sign-in-with-a-did)
  • did-sign-in-signed-purpose — make the purpose of a DID challenge something the signer signs (a purpose claim, or the SIOPv2 request object) so a wallet can show it and the Hub can check it. Today the purpose is chosen by whoever requests the public challenge and is not signed, so a relayed link proof plants the signer's DID on the relayer's person; a signed purpose cannot stop a page that lies to the wallet (docs/security/hub-portal-trust.md#sign-in-with-a-did)
  • did-sign-in-release-link — let the holder of a DID key release a link someone else made to it (an unlink proven by a signature rather than a session), so a planted link is not permanent: the signer's own link fails with a 409 and they cannot remove a row that is not theirs
  • did-sign-in-absent-surface — make the DID surface really absent when CI_HUB_DID_AUTH is off: register the five handlers (a DidAuthController listed in AuthModule only when the flag is true at module definition; a running process's environment cannot change) instead of answering 404 from a guard. Today an image with the frontend bundle answers an absolute-form GET or HEAD for /api/… with the 404 where a build without the routes serves index.html, and outside NODE_ENV=production /api/docs-json lists the routes (docs/system/backend.md#sign-in-with-a-did)

Done (recent)

  • hub-did-key-sign-in — sign in with a DID, off unless CI_HUB_DID_AUTH=true: five routes, link-first, no person or binding from a DID alone, TOTP kept, no AID header; needs the Hub security reviewer before merge (2026-11-05, docs/agent/sessions/2026-11-05-hub-did-key-sign-in.md)

  • hub-did-key-sign-in-review — fix what an independent review of the DID sign-in found: weak Ed25519 keys, a cross-site link, challenge purposes, the Portal membership check, error codes a client can read, the flag-off 404, empty generated schemas, and tests through the real HTTP stack (2026-11-05, same worksheet)

  • hub-did-key-sign-in-review-2 — fix what a second round of that review found: the purpose of a challenge does not stop a relayer (docs corrected, signed purpose and release-a-link left as TODOs), the membership check's registration read, the flag-off 404 for absolute-form targets, demo mode, an on-curve check for a did:key, total byte-level helpers, a flag that needs a restart, forward auth's reach, and tests that could not fail for their names (2026-11-05, same worksheet)

  • hub-workflow-hygiene — add a workflow guard that pnpm test runs, name the secrets each called release workflow receives, give six workflows a read-only token, and add SECURITY.md (2026-10-30, docs/agent/sessions/2026-10-30-hub-workflow-hygiene.md)

  • hub-keri-freeze — freeze the in-tree KERI module as not interoperable, stop emitting label-derived did:keri: strings in forward auth, and delete a visitor's AID headers at the Traefik edge (2026-10-30, docs/agent/sessions/2026-10-30-hub-keri-freeze.md)

  • qa-start-timeout-cleanup — prevent unsafe QA retries after Docker start timeouts, output overflow, and external termination; verify cleanup before retries (2026-10-27, PR #2171)

  • localai-backend-and-media-routing — LocalAI backend integration, options object in ConfigurationService.setInferencePreferences, generalized TTS/STT audio routing, and pool-routed GPU media workload tracking (2026-10-22, docs/agent/sessions/2026-10-22-localai-and-media-routing.md)

  • inference-scope-and-engines — inference API-key scope for external OpenAI-compatible clients, pooled model listing merges peer inventories, llama.cpp + LM Studio backends (2026-09-21, docs/agent/sessions/2026-09-21-inference-scope-and-engines.md)

  • agentic-workflow-toolchain — Bootstrap agent router, workflow docs, skills, bin scripts, visual/benchmark gates (2026-07-12)