|
| 1 | +# AgentByte Plugin Spec |
| 2 | + |
| 3 | +Status: coming soon |
| 4 | + |
| 5 | +Slug: `agentbyte` |
| 6 | + |
| 7 | +AgentByte is a working-title LogicSRC plugin spec for interoperable screening workflows in the AI era. It is intended for candidate screening, contractor qualification, agent capability checks, team upskilling, and marketplace trust. |
| 8 | + |
| 9 | +The spec assumes both humans and AI agents may participate. AI assistance is not treated as cheating by default; it is declared, measured, constrained, and audited by policy. |
| 10 | + |
| 11 | +## Goals |
| 12 | + |
| 13 | +- Turn job descriptions, project needs, and role requirements into structured screening plans. |
| 14 | +- Support human, AI-assisted human, autonomous agent, and hybrid candidate modes. |
| 15 | +- Record what tools, models, prompts, files, repos, and external resources were used. |
| 16 | +- Produce portable scorecards, evidence, transcripts, artifacts, and replayable audit logs. |
| 17 | +- Let products implement screening without owning the standard. |
| 18 | + |
| 19 | +## Core Objects |
| 20 | + |
| 21 | +```txt |
| 22 | +screening_profile |
| 23 | +screening_plan |
| 24 | +screening_session |
| 25 | +screening_question |
| 26 | +screening_challenge |
| 27 | +screening_answer |
| 28 | +screening_artifact |
| 29 | +screening_scorecard |
| 30 | +screening_policy |
| 31 | +screening_proctor_event |
| 32 | +screening_model_use |
| 33 | +screening_decision |
| 34 | +``` |
| 35 | + |
| 36 | +## Candidate Modes |
| 37 | + |
| 38 | +```txt |
| 39 | +human_only |
| 40 | +human_ai_assisted |
| 41 | +agent_only |
| 42 | +human_agent_pair |
| 43 | +team |
| 44 | +``` |
| 45 | + |
| 46 | +## Policy Fields |
| 47 | + |
| 48 | +```txt |
| 49 | +ai_allowed |
| 50 | +allowed_models |
| 51 | +blocked_models |
| 52 | +allowed_tools |
| 53 | +blocked_tools |
| 54 | +internet_allowed |
| 55 | +repo_access |
| 56 | +time_limit_seconds |
| 57 | +recording_required |
| 58 | +human_attestation_required |
| 59 | +agent_attestation_required |
| 60 | +evidence_required |
| 61 | +``` |
| 62 | + |
| 63 | +## CLI Spec |
| 64 | + |
| 65 | +Command namespace: |
| 66 | + |
| 67 | +```bash |
| 68 | +logicsrc agentbyte <command> |
| 69 | +``` |
| 70 | + |
| 71 | +Required commands: |
| 72 | + |
| 73 | +```txt |
| 74 | +plan create |
| 75 | +plan get |
| 76 | +session start |
| 77 | +session submit |
| 78 | +session score |
| 79 | +session audit |
| 80 | +policy validate |
| 81 | +artifact attach |
| 82 | +export scorecard |
| 83 | +``` |
| 84 | + |
| 85 | +Examples: |
| 86 | + |
| 87 | +```bash |
| 88 | +logicsrc agentbyte plan create --role "AI Engineer" --repo profullstack/logicsrc |
| 89 | +logicsrc agentbyte session start --plan plan_123 --candidate did:agent.qa |
| 90 | +logicsrc agentbyte session submit --session ssn_123 --artifact ./patch.diff |
| 91 | +logicsrc agentbyte session audit --session ssn_123 --format markdown |
| 92 | +``` |
| 93 | + |
| 94 | +## TUI Spec |
| 95 | + |
| 96 | +Required panes: |
| 97 | + |
| 98 | +```txt |
| 99 | +plans |
| 100 | +sessions |
| 101 | +live transcript |
| 102 | +questions/challenges |
| 103 | +artifacts |
| 104 | +model/tool use |
| 105 | +scorecard |
| 106 | +audit events |
| 107 | +policy violations |
| 108 | +``` |
| 109 | + |
| 110 | +Required actions: |
| 111 | + |
| 112 | +```txt |
| 113 | +start session |
| 114 | +pause session |
| 115 | +attach artifact |
| 116 | +request clarification |
| 117 | +mark evidence |
| 118 | +score criterion |
| 119 | +flag policy event |
| 120 | +export scorecard |
| 121 | +``` |
| 122 | + |
| 123 | +## SDK Spec |
| 124 | + |
| 125 | +All SDKs should expose the same conceptual API: |
| 126 | + |
| 127 | +```txt |
| 128 | +createPlan(input) |
| 129 | +getPlan(id) |
| 130 | +startSession(planId, candidate) |
| 131 | +submitAnswer(sessionId, answer) |
| 132 | +attachArtifact(sessionId, artifact) |
| 133 | +recordModelUse(sessionId, modelUse) |
| 134 | +scoreSession(sessionId, scorecard) |
| 135 | +exportAudit(sessionId) |
| 136 | +``` |
| 137 | + |
| 138 | +### Rust |
| 139 | + |
| 140 | +Package target: `agentbyte` |
| 141 | + |
| 142 | +```rust |
| 143 | +let client = ScreeningClient::new(config); |
| 144 | +let plan = client.create_plan(plan_input).await?; |
| 145 | +let session = client.start_session(&plan.id, candidate).await?; |
| 146 | +``` |
| 147 | + |
| 148 | +### Bun |
| 149 | + |
| 150 | +Package target: `@profullstack/agentbyte-bun` |
| 151 | + |
| 152 | +```ts |
| 153 | +const client = new ScreeningClient({ apiKey }); |
| 154 | +const plan = await client.createPlan(input); |
| 155 | +const session = await client.startSession(plan.id, candidate); |
| 156 | +``` |
| 157 | + |
| 158 | +### Node |
| 159 | + |
| 160 | +Package target: `@profullstack/agentbyte-node` |
| 161 | + |
| 162 | +```ts |
| 163 | +import { ScreeningClient } from "@profullstack/agentbyte-node"; |
| 164 | + |
| 165 | +const client = new ScreeningClient({ apiKey }); |
| 166 | +await client.recordModelUse(sessionId, modelUse); |
| 167 | +``` |
| 168 | + |
| 169 | +### Python |
| 170 | + |
| 171 | +Package target: `profullstack-agentbyte` |
| 172 | + |
| 173 | +```python |
| 174 | +client = ScreeningClient(api_key=api_key) |
| 175 | +plan = client.create_plan(input) |
| 176 | +session = client.start_session(plan["id"], candidate) |
| 177 | +``` |
| 178 | + |
| 179 | +### curl |
| 180 | + |
| 181 | +HTTP surface: |
| 182 | + |
| 183 | +```bash |
| 184 | +curl -X POST "$LOGICSRC_API/agentbyte/plans" \ |
| 185 | + -H "authorization: Bearer $TOKEN" \ |
| 186 | + -H "content-type: application/json" \ |
| 187 | + -d @plan.json |
| 188 | +``` |
| 189 | + |
| 190 | +Required endpoints: |
| 191 | + |
| 192 | +```txt |
| 193 | +POST /agentbyte/plans |
| 194 | +GET /agentbyte/plans/:id |
| 195 | +POST /agentbyte/sessions |
| 196 | +GET /agentbyte/sessions/:id |
| 197 | +POST /agentbyte/sessions/:id/answers |
| 198 | +POST /agentbyte/sessions/:id/artifacts |
| 199 | +POST /agentbyte/sessions/:id/model-use |
| 200 | +POST /agentbyte/sessions/:id/score |
| 201 | +GET /agentbyte/sessions/:id/audit |
| 202 | +``` |
| 203 | + |
| 204 | +## PWA Spec |
| 205 | + |
| 206 | +Required views: |
| 207 | + |
| 208 | +```txt |
| 209 | +plan builder |
| 210 | +candidate intake |
| 211 | +live screening room |
| 212 | +challenge workspace |
| 213 | +model/tool-use disclosure |
| 214 | +artifact review |
| 215 | +scorecard editor |
| 216 | +audit timeline |
| 217 | +decision packet |
| 218 | +``` |
| 219 | + |
| 220 | +Required states: |
| 221 | + |
| 222 | +```txt |
| 223 | +draft |
| 224 | +scheduled |
| 225 | +active |
| 226 | +paused |
| 227 | +submitted |
| 228 | +scoring |
| 229 | +reviewed |
| 230 | +decided |
| 231 | +disputed |
| 232 | +archived |
| 233 | +``` |
| 234 | + |
| 235 | +## MCP Spec |
| 236 | + |
| 237 | +Resources: |
| 238 | + |
| 239 | +```txt |
| 240 | +agentbyte://plans |
| 241 | +agentbyte://sessions |
| 242 | +agentbyte://policies |
| 243 | +agentbyte://scorecards |
| 244 | +agentbyte://audits/{session_id} |
| 245 | +``` |
| 246 | + |
| 247 | +Tools: |
| 248 | + |
| 249 | +```txt |
| 250 | +create_agentbyte_plan |
| 251 | +start_agentbyte_session |
| 252 | +submit_agentbyte_answer |
| 253 | +attach_agentbyte_artifact |
| 254 | +record_agentbyte_model_use |
| 255 | +score_agentbyte_session |
| 256 | +export_agentbyte_audit |
| 257 | +``` |
| 258 | + |
| 259 | +Prompts: |
| 260 | + |
| 261 | +```txt |
| 262 | +create-agentbyte-plan |
| 263 | +review-agentbyte-artifacts |
| 264 | +summarize-agentbyte-audit |
| 265 | +draft-agentbyte-decision |
| 266 | +``` |
| 267 | + |
| 268 | +## Minimum Audit Event Shape |
| 269 | + |
| 270 | +```json |
| 271 | +{ |
| 272 | + "type": "logicsrc.event", |
| 273 | + "version": "0.1", |
| 274 | + "event_id": "evt_screening_123", |
| 275 | + "event_type": "screening.model_use.recorded", |
| 276 | + "resource_type": "screening_session", |
| 277 | + "resource_id": "ssn_123", |
| 278 | + "actor_did": "candidate.example", |
| 279 | + "created_at": "2026-01-01T00:00:00.000Z", |
| 280 | + "metadata": { |
| 281 | + "model": "provider/model", |
| 282 | + "purpose": "answer_assistance", |
| 283 | + "policy_allowed": true |
| 284 | + } |
| 285 | +} |
| 286 | +``` |
0 commit comments