Skip to content

Verification

RequirementTestMethodStatus
REQ-AUTH-001AUTH-T01: Decode valid URL-safe Base64 token and forward to GitHubUnitPending
REQ-AUTH-001AUTH-T02: Verify -_ characters decoded correctly (URL-safe vs standard)UnitPending
REQ-AUTH-002AUTH-T03: Return 401 when Authorization header is absentUnitPending
REQ-AUTH-002AUTH-T04: Return 401 when Authorization header has no Bearer prefixUnitPending
REQ-AUTH-003AUTH-T05: Return 401 when token is not valid Base64UnitPending
REQ-AUTH-003aAUTH-T05a: Return 401 when decoded value lacks recognized PAT prefix (ghp_, github_pat_, gho_)UnitPending
REQ-AUTH-004AUTH-T06: GitHub 401 propagates as UNAUTHORIZED MCP errorUnitPending
REQ-AUTH-004AUTH-T07: GitHub 403 propagates as FORBIDDEN MCP errorUnitPending
REQ-AUTH-004AUTH-T08: GitHub 404 propagates as NOT_FOUND MCP errorUnitPending
REQ-CFG-001CFG-T01: Worker reads all config vars from environmentUnitPending
REQ-CFG-002CFG-T02: Skills tools use REPO/BRANCH, docs tools use DOCS_REPO/DOCS_BRANCHUnitPending
REQ-SKILL-001SKILL-T01: list_skills returns bundled index with all fieldsUnitPending
REQ-SKILL-001SKILL-T02: list_skills makes zero fetch callsUnitPending
REQ-SKILL-002SKILL-T03: get_skill fetches correct GitHub API pathUnitPending
REQ-SKILL-002SKILL-T04: get_skill returns decoded plain text contentUnitPending
REQ-SKILL-003SKILL-T05: get_skill returns cached response on second callUnitPending
REQ-SKILL-003SKILL-T06: get_skill with skipCache bypasses and refreshes cacheUnitPending
REQ-SKILL-004SKILL-T07: get_skill_file returns Base64 content with encoding fieldUnitPending
REQ-SKILL-004SKILL-T08: get_skill_file includes size in responseUnitPending
REQ-SKILL-005SKILL-T09: get_skill_file caching and skipCache behave correctlyUnitPending
REQ-AGENT-001AGENT-T01: list_agents returns bundled index with model and allowedToolsUnitPending
REQ-AGENT-001AGENT-T02: list_agents makes zero fetch callsUnitPending
REQ-AGENT-002AGENT-T03: get_agent fetches correct GitHub API pathUnitPending
REQ-AGENT-002AGENT-T04: get_agent returns decoded plain text contentUnitPending
REQ-AGENT-003AGENT-T05: get_agent caching and skipCache behave correctlyUnitPending
REQ-DOC-001DOC-T01: list_docs returns hierarchical bundled indexUnitPending
REQ-DOC-001DOC-T02: list_docs makes zero fetch callsUnitPending
REQ-DOC-002DOC-T03: get_doc tries index.md firstUnitPending
REQ-DOC-002DOC-T04: get_doc falls back to *.md when index.md returns 404UnitPending
REQ-DOC-002DOC-T05: get_doc returns NOT_FOUND when both attempts failUnitPending
REQ-DOC-003DOC-T06: get_doc returns decoded markdown, not Base64UnitPending
REQ-DOC-004DOC-T07: get_doc caching and skipCache behave correctlyUnitPending
REQ-SEC-001SEC-T01: Reject .. in skill nameUnitPending
REQ-SEC-001SEC-T02: Reject .. in file pathUnitPending
REQ-SEC-001SEC-T03: Reject absolute path /etc/passwdUnitPending
REQ-SEC-001SEC-T04: Reject backslash pathsUnitPending
REQ-SEC-001SEC-T05: Reject .. in get_doc path segmentsUnitPending
REQ-SEC-002SEC-T06: wrangler.toml has no [secrets] blockManualPending
REQ-ERR-001ERR-T01: Error responses include code, message, and detailsUnitPending
REQ-ERR-002ERR-T02: Each GitHub status maps to correct MCP error codeUnitPending
REQ-BUILD-001BUILD-T01: skills-index.json generated with correct fieldsBuildPending
REQ-BUILD-001BUILD-T02: agents-index.json generated with correct fieldsBuildPending
REQ-BUILD-001BUILD-T03: docs-index.json generated as hierarchical structureBuildPending
REQ-BUILD-002BUILD-T04: File without frontmatter produces name=filename, description=nullBuildPending
REQ-BUILD-003BUILD-T05: Skill index includes files array excluding SKILL.mdBuildPending
REQ-BUILD-004BUILD-T06: .mdx files appear in docs indexBuildPending
REQ-BUILD-005BUILD-T07: Workflow triggers on push/main, cron, workflow_dispatchCI reviewPending
REQ-BUILD-006BUILD-T08: Worker bundle contains index data (verified via wrangler build)BuildPending
REQ-INFRA-001INFRA-T01: wrangler deploy succeedsDeployPending
REQ-INFRA-002INFRA-T02: MCP client can connect and call tools via HTTP+SSEIntegrationPending
REQ-INFRA-003INFRA-T03: Branch protection rules configured on mainManualPending