diff --git a/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-0.md b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-0.md new file mode 100644 index 0000000..1f84841 --- /dev/null +++ b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-0.md @@ -0,0 +1,7 @@ +# Step 0 — Implementation Detail + +1. Defined required normalized document fields, stable IDs, UTF-8 body semantics, MIME handling, and delete tombstones. +2. Defined provenance fields for connector, immutable source identity, revisions, retrieval time, and webhook event ID. +3. Defined tenant isolation and deny-by-default ACL propagation rules. +4. Defined connector methods for full sync, incremental sync, and webhook change parsing. +5. Defined opaque cursor shape, atomic advancement rule, trigger modes, retries, and idempotency requirements. diff --git a/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-1.md b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-1.md new file mode 100644 index 0000000..fbbc133 --- /dev/null +++ b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-1.md @@ -0,0 +1,7 @@ +# Step 1 — Implementation Detail + +1. Implemented owner/repository/path-prefix scope and credential_ref-based bearer authentication. +2. Implemented full file listing and configured MIME filtering for Markdown, plain text, and source files. +3. Implemented incremental retrieval from a source revision and scoped changed-path filtering. +4. Mapped GitHub file and commit metadata into normalized document provenance and stable IDs. +5. Mapped webhook commit modifications/removals into contract Change records. diff --git a/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-2.md b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-2.md new file mode 100644 index 0000000..2dd345a --- /dev/null +++ b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-2.md @@ -0,0 +1,7 @@ +# Step 2 — Implementation Detail + +1. Implemented site_id, drive_id, folder_path, and credential_ref scope/configuration. +2. Implemented authenticated Graph adapter calls through injected graph and secret-provider ports. +3. Implemented full listing and configured PDF, DOCX, and HTML MIME filtering. +4. Implemented delta-token incremental ingestion and cursor version advancement. +5. Mapped SharePoint item IDs, URLs, modified timestamps, eTags, and webhook resources into contract records. diff --git a/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-3.md b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-3.md new file mode 100644 index 0000000..7c4f320 --- /dev/null +++ b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-3.md @@ -0,0 +1,7 @@ +# Step 3 — Implementation Detail + +1. Added connector registry dispatch by connector name and tenant-aware cursor loading. +2. Added full versus incremental execution selection. +3. Added retry loop with configurable maximum attempts and dead-letter result generation. +4. Published before saving the next cursor to make replay safe after failures. +5. Added run status, attempt count, batch, and dead-letter result structures. diff --git a/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-4.md b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-4.md new file mode 100644 index 0000000..2eb3a8e --- /dev/null +++ b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-4.md @@ -0,0 +1,7 @@ +# Step 4 — Implementation Detail + +1. Added tenant equality validation before publication to prevent cross-tenant writes. +2. Published normalized documents through an injected knowledge-store port. +3. Recorded publication audit events containing tenant, run, action, count, and timestamp without content or secrets. +4. Implemented retention-based purge of expired deleted-document tombstones. +5. Documented managed secret usage, ACL filtering expectations, transport/storage protection, and lifecycle rules. diff --git a/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-5.md b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-5.md new file mode 100644 index 0000000..1b36216 --- /dev/null +++ b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-5.md @@ -0,0 +1,8 @@ +# Step 5 — Implementation Detail + +1. Added pyproject.toml with Python 3.11 target and pinned Ruff 0.6.9, mypy 1.11.2, and pytest 8.2 range for CI/dev checks. +2. Added GitHub Actions workflow running installation, Ruff, mypy, and pytest. +3. Added Kubernetes deployment with readiness probe, non-root identity, restricted privilege escalation, and read-only root filesystem. +4. Added YAML configuration covering GitHub/SharePoint scopes, credential references, and trigger examples. +5. Added unit tests for contract validation, connector normalization, orchestration, and tenant isolation. +6. Added README, examples, operations, and validation-report documentation. diff --git a/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-6.md b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-6.md new file mode 100644 index 0000000..c3557fe --- /dev/null +++ b/.agents/plans/wf-decompose-b4be4be4fd0c/steps/step-6.md @@ -0,0 +1,7 @@ +# Step 6 — Implementation Detail + +1. Created representative full, incremental, scheduled, and webhook Trigger cases. +2. Validated trigger mode, source, tenant, and connector requirements through TriggerValidator. +3. Documented fixture-based connector integration coverage and fake KAB-store downstream checks. +4. Specified acceptance checks for webhook idempotency, post-publication cursor advancement, deletion tombstones, ACL isolation, and dead-letter replay. +5. Added scripts/e2e_validation.py returning a machine-readable readiness summary.