feat(calendar): publish clean Naruon event projection contract - #355
feat(calendar): publish clean Naruon event projection contract#355seonghobae wants to merge 32 commits into
Conversation
|
Warning Review limit reachedNext included review available in 35 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (43)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Validated and pushed commit
Local verification on this exact branch: |
|
Exact current head b606c25 has no unresolved review threads and all hosted checks are terminal-success, including coverage-source-tree, coverage-evidence, and the later opencode-review job. The earlier OpenCode REQUEST_CHANGES cites a coverage-evidence failure that was subsequently repaired on this same head. I re-ran the exact-head Required OpenCode Review workflow to refresh that stale verdict. Protected squash auto-merge remains armed; independent approval is still required and no bypass or self-approval is authorized. |
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current headb606c2553f877fa85968d90dc46598ce16897fbf. -
Head SHA:
b606c2553f877fa85968d90dc46598ce16897fbf -
Workflow run: 32513771479
-
Workflow attempt: 1
Coverage evidence
Coverage evidence job did not run or did not publish coverage evidence.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (18 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (18 files)"]
R1 --> V1["required checks"]
Evidence --> S2["Backend (6 files)"]
S2 --> I2["API and service runtime"]
I2 --> R2["Review risk: Backend (6 files)"]
R2 --> V2["backend tests"]
Evidence --> S3["Docs (7 files)"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs (7 files)"]
R3 --> V3["docs review"]
Evidence --> S4["Frontend: App.tsx"]
S4 --> I4["browser runtime and bundle"]
I4 --> R4["Review risk: Frontend: App.tsx"]
R4 --> V4["frontend tests"]
Evidence --> S5["Test (9 files)"]
S5 --> I5["regression suite"]
I5 --> R5["Review risk: Test (9 files)"]
R5 --> V5["targeted test run"]
|
Current-head re-review requested for b606c25. All current required checks are green, including full backend/frontend suites, coverage evidence, Semgrep, OSV, Strix, and OpenCode; the prior REQUEST_CHANGES result referenced failed coverage runs from older attempts. Please evaluate this exact head before any merge decision. |
|
@claude Re-review exact current head b606c25. The earlier OpenCode REQUEST_CHANGES cited failed coverage runs, while current same-head coverage, security, frontend, backend, and opencode checks are terminal-success. Replace stale status only after independently reviewing this SHA; do not self-approve, bypass, force-push, or merge. |
Stale infrastructure-only verdict: central exact-base dependency evidence was repaired and merged in ContextualWisdomLab/.github#1210. Current head remains all-green and still requires fresh independent approval.
…body failures Renumber the Naruon calendar projection ADR to 0143 -- it collided with docs/adr/0123-provider-error-boundary.md, which four other open PRs already carry for an unrelated decision and which CI's ADR-uniqueness test would reject on merge. Add ADR 0123 itself for the provider-error-hiding policy this PR implements in auth.py, analysis_run_start.py, and chat_completion_content, since that policy previously shipped without a decision record. Stop process_post_content_job from blaming an empty source post body on a "provider operation failure" that retrying cannot fix; report it with its own failure code and an accurate detail instead of falling into the generic provider-failure catch. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B5M79L945DMyMs3sg5yJ14
|
Reviewed and resolved the remaining informational exact-head threads; no product behavior change was warranted. @opencode-agent please independently review exact head |
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current head26f25ac6d0478a341d6eacb25fa8c616bfd890e4. -
Head SHA:
26f25ac6d0478a341d6eacb25fa8c616bfd890e4 -
Workflow run: 32628981780
-
Workflow attempt: 1
Coverage evidence
Coverage Decision
- Result: FAIL
- Test evidence: not proven passing
- Docstring evidence: not proven passing when configured
- Failure count: 4
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (18 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (18 files)"]
R1 --> V1["required checks"]
Evidence --> S2["Backend (6 files)"]
S2 --> I2["API and service runtime"]
I2 --> R2["Review risk: Backend (6 files)"]
R2 --> V2["backend tests"]
Evidence --> S3["Docs (8 files)"]
S3 --> I3["operator or user guidance"]
I3 --> R3["Review risk: Docs (8 files)"]
R3 --> V3["docs review"]
Evidence --> S4["Frontend: App.tsx"]
S4 --> I4["browser runtime and bundle"]
I4 --> R4["Review risk: Frontend: App.tsx"]
R4 --> V4["frontend tests"]
Evidence --> S5["Test (10 files)"]
S5 --> I5["regression suite"]
I5 --> R5["Review risk: Test (10 files)"]
R5 --> V5["targeted test run"]
This reverts commit dd463ed.
Moving the empty-body guard out of the try/except in process_post_content_job (26f25ac) stopped it from raising, so the _logger.exception call that used to record the skip never runs. Operators tailing logs lost visibility into why a post-content job requeued with post_content_source_body_missing; the failure was only discoverable via a DB query. Log a warning at the guard itself, matching the _LOGGER.warning(..., extra={...}) pattern already used in post_content_persistence.py. Addresses Devin Review comment on PR #355 (post_content_worker.py:234). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XKohNQEbNH1mpNEkvsuhKv
Buyer outcome
Replace the misleading pseudo-CalDAV JSON feed with a strict, read-only LineageWeave consumer contract for calendar observations authorized and projected by Naruon.
This is a clean reconstruction of the intended seven-file delta from inherited draft #337 on current protected
main@ef6f5a5ffcb467bd935dc1e53acc0029669b0bd7. It deliberately excludes the old Buyer-stack ancestry and adds transport/resource hardening found during review.Authority boundary
An external occurrence is
observed; it never becomes an authoritative LineageWeave commitment merely because both appear in one Calendar screen.Contract
application/vnd.contextualwisdomlab.naruon-calendar.v1+json;Deliberate non-goals
TDD and documentation
Merge and activation gates
The contract may merge independently while runtime activation remains disabled. This PR stays Draft until focused exact-head tests, Ruff/compile/schema/documentation checks, and hosted security/coverage workflows are available.
Runtime activation later requires immutable provider/consumer fixtures, the Naruon endpoint/audience, fail-closed Buyer wiring, degraded/retry/revision/reconciliation tests, and exact-head protected review in both repositories.
Supersedes #337. Tracks #336. Do not self-approve, force-push, or bypass protection.