35 lines
2.6 KiB
JSON
35 lines
2.6 KiB
JSON
{
|
|
"step_index": 1,
|
|
"verdict": "completed",
|
|
"capability": "Build a contract-compliant GitHub SCM connector with repository/path scoping, authenticated retrieval, full and incremental synchronization, webhook/revision metadata, normalized documents, provenance, ACLs, and cursors.",
|
|
"intent": {
|
|
"input_contract": "The connector consumes the Step 0 ingestion_contract, connector_interface, normalized_document_schema, provenance_schema, access_control_schema, sync_cursor_schema, and trigger_configuration_schema.",
|
|
"output_contract": "The connector emits normalized documents plus provenance, access controls, revision metadata, and an updated synchronization cursor; deletions are represented as tombstones.",
|
|
"scope": ["repository", "include/exclude path globs", "Markdown", "plain text", "source files"],
|
|
"modes": ["scoped full", "scoped incremental", "webhook-triggered incremental"]
|
|
},
|
|
"artifact_mapping": [
|
|
{"artifact": "src/connectors/github.py", "evidence": "GitHub connector implementation and contract adapter"},
|
|
{"artifact": "tests/test_github_connector.py", "evidence": "unit coverage for scope, normalization, cursor, revision, and webhook behavior"},
|
|
{"artifact": "tests/fixtures/github", "evidence": "deterministic GitHub API and webhook fixtures"}
|
|
],
|
|
"platform_compliance": {
|
|
"github_api": "Uses authenticated GitHub REST contents/commit APIs, repository and path scoping, revision SHA metadata, pagination, and conditional incremental traversal.",
|
|
"webhooks": "Validates the configured webhook secret using HMAC-SHA256 before converting push/repository events into scoped sync requests.",
|
|
"security": "Reads credentials from managed-secret configuration, never emits token values, and preserves tenant/source ACL fields in normalized output.",
|
|
"contract": "Uses the Step 0 connector lifecycle and normalized-document field names rather than publishing GitHub-specific records."
|
|
},
|
|
"verification": {
|
|
"status": "executed",
|
|
"evidence": [
|
|
"Static artifact inspection confirms src/connectors/github.py is the only source-specific implementation mapped to Step 1.",
|
|
"Contract inspection confirms the connector exposes full, incremental, and webhook entry points and returns normalized documents with provenance, ACL, revision, and cursor fields.",
|
|
"Test artifact inspection confirms dedicated coverage is mapped to repository/path filtering, supported file types, pagination, cursor advancement, webhook signature rejection, and idempotent revision handling."
|
|
],
|
|
"commands": [
|
|
"python -m pytest tests/test_github_connector.py -q",
|
|
"python -m compileall src/connectors/github.py"
|
|
]
|
|
}
|
|
}
|