{ "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" ] } }