Skip to content

confluence-mdx: P2 capability 경계를 설계합니다 - #1049

Merged
jk-kim0 merged 2 commits into
mainfrom
jk/docs-reverse-sync-p2-decisions
Jul 27, 2026
Merged

confluence-mdx: P2 capability 경계를 설계합니다#1049
jk-kim0 merged 2 commits into
mainfrom
jk/docs-reverse-sync-p2-decisions

Conversation

@jk-kim0

@jk-kim0 jk-kim0 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

현재 body reverse-sync contract를 넓히지 않으면서 후속 P2 capability의 안전 경계와 별도 change 진입 조건을 결정합니다.

  • page title mutation은 version precondition이 없는 title 전용 endpoint를 사용하지 않고 versioned page postcondition으로 설계합니다.
  • attachment create/update/delete는 page PUT과 비원자적인 별도 transaction 및 recovery evidence로 설계합니다.
  • preserved anchor target 변경은 generic template rewrite에서 지원하지 않기로 결정합니다.
  • raw HTML table cell text mutation의 typed identity/structure/preservation proof를 정의합니다.
  • active draft와 remote drift는 자동 merge 없이 fail-closed 및 manual reconciliation을 유지합니다.

Verification

  • openspec validate complete-reverse-sync --strict
  • git diff --check

Stack

References

  • Atlassian Confluence Cloud REST API v2 Page
  • Atlassian Confluence Cloud REST API v2 Attachment
  • Atlassian Confluence Cloud REST API v1 Content - attachments

🤖 Generated with Codex

@vercel

vercel Bot commented Jul 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
querypie-docs Canceled Canceled Comment Jul 27, 2026 8:15am

Request Review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e87e634576

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +564 to +567
2. create/update를 실행하고 post-catalog에서 ID, filename, version, binary
identity를 확인합니다.
3. 해당 attachment를 참조하는 page body를 versioned PUT하고 page
postcondition을 확인합니다.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep existing attachment updates behind the page CAS

For AttachmentVersionUpdate, this order mutates the existing attachment binary before the versioned page PUT. If the page drifts after preflight or the PUT/postcondition later fails, the page can still reference the same filename/attachment ID and expose the new binary while the body remains unchanged, so the side effect escapes the fail-closed remote_drift/postcondition contract rather than merely leaving an orphan or unnecessary version. Please keep binary version updates blocked, or require a staging/body-switch strategy that preserves the old attachment until the page CAS has succeeded.

Useful? React with 👍 / 👎.

@jk-kim0
jk-kim0 force-pushed the jk/refactor-reverse-sync-prepare-batch-services branch from 1c40d1c to 11b2267 Compare July 27, 2026 06:23
jk-kim0 added a commit that referenced this pull request Jul 27, 2026
## Summary
기존 attachment binary update가 page CAS 밖에서 노출되는 계약 오류를 수정합니다.

- AttachmentVersionUpdate를 create/delete transaction 순서에서 분리합니다.
- non-destructive staging/body-switch proof 전까지 version update를 block합니다.
- old binary 보존과 page postcondition 순서를 OpenSpec Scenario로 고정합니다.

## Test plan
- [x] openspec validate complete-reverse-sync --strict
- [x] 관련 attachment contract targeted search
- [x] git diff --check

🤖 Generated with Codex
@jk-kim0
jk-kim0 force-pushed the jk/docs-reverse-sync-p2-decisions branch from e87e634 to d555577 Compare July 27, 2026 06:24
@jk-kim0
jk-kim0 force-pushed the jk/refactor-reverse-sync-prepare-batch-services branch from 11b2267 to b073dc1 Compare July 27, 2026 08:07
Base automatically changed from jk/refactor-reverse-sync-prepare-batch-services to main July 27, 2026 08:11
jk-kim0 and others added 2 commits July 27, 2026 17:11
## Summary
확장 capability의 안전 경계와 별도 change 진입 조건을 결정합니다.

- page title mutation을 versioned page postcondition으로 분리합니다.
- attachment create/update/delete의 비원자적 transaction과 recovery evidence를 정의합니다.
- preserved anchor target 변경은 generic template rewrite에서 제외합니다.
- raw HTML table cell text mutation의 typed identity/proof를 정의합니다.
- active draft와 remote drift는 자동 merge 없이 fail-closed를 유지합니다.

🤖 Generated with Codex

Co-Authored-By: Atlas <atlas@jk.agent>
## Summary
기존 attachment binary update가 page CAS 밖에서 노출되는 계약 오류를 수정합니다.

- AttachmentVersionUpdate를 create/delete transaction 순서에서 분리합니다.
- non-destructive staging/body-switch proof 전까지 version update를 block합니다.
- old binary 보존과 page postcondition 순서를 OpenSpec Scenario로 고정합니다.

## Test plan
- [x] openspec validate complete-reverse-sync --strict
- [x] 관련 attachment contract targeted search
- [x] git diff --check

🤖 Generated with Codex
@jk-kim0
jk-kim0 force-pushed the jk/docs-reverse-sync-p2-decisions branch from d555577 to 4665053 Compare July 27, 2026 08:11
@jk-kim0
jk-kim0 merged commit d1ed2a7 into main Jul 27, 2026
4 of 5 checks passed
@jk-kim0
jk-kim0 deleted the jk/docs-reverse-sync-p2-decisions branch July 27, 2026 08:15
jk-kim0 added a commit that referenced this pull request Jul 27, 2026
## Summary

현재 구현된 reverse-sync의 snapshot-bound verification과 manifest-bound publish
lifecycle을 architecture 문서에 동기화합니다.

- 로컬 diagnostic과 원격 `PageSnapshot` 기반 online prepare/publish 경로를 구분합니다.
- typed `PatchPlan` v2, preservation renderer, local proof, immutable
run artifact의 책임과 상태를 기록합니다.
- explicit manifest publisher의 preflight, active draft/dependency gate,
version-bound PUT, postcondition을 문서화합니다.
- CLI 명령, runtime artifact tree, safety invariant를 실제 service/module 이름에
맞춥니다.
- OpenSpec cleanup task의 architecture 경로를 실제 파일 위치로 바로잡고 완료 처리합니다.

## Verification

- `openspec validate complete-reverse-sync --strict`
- `git diff --check`
- `python confluence-mdx/bin/reverse_sync_cli.py --help`
- manifest 필수 artifact와 stale architecture 용어 targeted search

## Stack

- Base: #1049
- 이 PR은 #1049가 merge된 뒤 merge합니다.

🤖 Generated with Codex
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant