boardx / boardx/workspacex

feat(harness): resolve stable roles to Directory agents with 0600 local credentials

Open
#443 0 comments 0 reactions 0 assignees View on GitHub
backlog out-of-scope owner:coord-architecture
Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
1h 7m
Merged PRs (30d)
969

Description

## Parent
- #436

## Goal
Provide a portable bootstrap/resolver that maps a stable project role to exactly one active Directory agent ULID and validates its local scoped credential without leaking secrets.

## Scope
- Resolve by stable role against the canonical PlatformDirectory role projection.
- Require exactly one active match and validate kind/areas/reports_to.
- Read or create the gitignored local credential cache with mode 0600; accept token through an interactive prompt/stdin, never argv.
- Verify token-to-ULID binding through the scoped identity endpoint.
- Atomically migrate the existing cache; preserve valid credentials and rotate only on mismatch.
- Export/use the immutable ULID as runtime `COORD_AGENT_ID`.

## Acceptance
- Zero/multiple/mismatched/retired identities fail closed with actionable errors.
- Wrong file mode and token/ULID mismatch fail closed.
- Logs and tests never print token material.
- Existing valid cache migrates without secret rotation.
- `./init.sh` passes.

## Dependencies
- #436
- portable surface generator child
- scoped identity endpoint child
- #396 / PR #402

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the portable bootstrap/resolver and the canonical PlatformDirectory role projection, then inspect the scoped identity endpoint and existing local credential cache migration. Use ./init.sh while checking the COORD_AGENT_ID export. Done means identity resolution and credential validation fail closed, valid caches migrate unchanged, and tests and logs never expose token material.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authentication, security, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.