{"id":51065685,"url":"https://github.com/kitimark/atlassy","last_synced_at":"2026-06-23T06:30:38.233Z","repository":{"id":342389271,"uuid":"1173737475","full_name":"kitimark/atlassy","owner":"kitimark","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-14T23:00:12.000Z","size":1256,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-15T07:55:13.383Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kitimark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"roadmap/01-problem-points.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-05T17:38:53.000Z","updated_at":"2026-03-14T22:55:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kitimark/atlassy","commit_stats":null,"previous_names":["kitimark/atlassy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kitimark/atlassy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitimark%2Fatlassy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitimark%2Fatlassy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitimark%2Fatlassy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitimark%2Fatlassy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kitimark","download_url":"https://codeload.github.com/kitimark/atlassy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitimark%2Fatlassy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34678932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-23T06:30:37.394Z","updated_at":"2026-06-23T06:30:38.227Z","avatar_url":"https://github.com/kitimark.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Atlassy\n\nAtlassy is a Confluence content control toolkit for AI and MCP-driven editing -- insert, edit, and delete ADF blocks across pages and sub-pages.\n\n## Installation\n\nResolve the latest release tag first:\n\n```bash\nVERSION=\"$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/kitimark/atlassy/releases/latest)\"\nVERSION=\"${VERSION##*/}\"\n```\n\nmacOS (Apple Silicon):\n\n```bash\ncurl -fsSL \"https://github.com/kitimark/atlassy/releases/download/${VERSION}/atlassy-cli-${VERSION}-aarch64-apple-darwin.tar.gz\" | tar -xz\n```\n\nmacOS (Intel):\n\n```bash\ncurl -fsSL \"https://github.com/kitimark/atlassy/releases/download/${VERSION}/atlassy-cli-${VERSION}-x86_64-apple-darwin.tar.gz\" | tar -xz\n```\n\nLinux (x86_64):\n\n```bash\ncurl -fsSL \"https://github.com/kitimark/atlassy/releases/download/${VERSION}/atlassy-cli-${VERSION}-x86_64-unknown-linux-gnu.tar.gz\" | tar -xz\n```\n\nLinux (ARM64):\n\n```bash\ncurl -fsSL \"https://github.com/kitimark/atlassy/releases/download/${VERSION}/atlassy-cli-${VERSION}-aarch64-unknown-linux-gnu.tar.gz\" | tar -xz\n```\n\n## Editing Model\n\n### Foundation (current -- text replacement)\n\n- ADF is canonical for fetch, diff, patch, verify, and publish.\n- Markdown is a transient assist format for prose-only editing.\n- Tables are edited via ADF-native operations (cell text only).\n- Unsupported structural blocks remain locked.\n\n### Structural (planned -- insert/edit/delete)\n\n- Insert new ADF blocks (paragraphs, headings, tables, lists) at specified positions within scope.\n- Delete existing ADF blocks within scope.\n- Compose structures: insert full sections (heading + body), create new tables, create new lists.\n- Multi-page content control: create sub-pages with content, coordinate edits across page hierarchies.\n- Advanced operations: table topology changes (row/column add/remove), structural block attribute editing, MCP server integration.\n\n## Implementation Stack\n\n- Runtime language: Rust (stable toolchain).\n- Architecture: CLI-first workspace with shared core libraries for pipeline states and ADF operations.\n- Confluence integration: async HTTP client with typed request/response contracts.\n- Verification and diagnostics: contract-validated state envelopes, structured tracing logs, and replay artifacts.\n- Testing: live Confluence research in sandbox plus fixture-backed stub simulation for CI and regression.\n\n## Problem\n\nAI-assisted Confluence updates are expensive and fragile when they rely on full-page context and broad rewrites.\n\n- Full-page payloads inflate context windows and token spend.\n- Large write payloads increase publish failures and timeout risk.\n- Full-body rewrites amplify version drift and conflict retries.\n- Repeated broad edits increase fidelity risk for tables, macros, and media.\n\n## Goals\n\n- Achieve `operation_success_rate` \u003e95% for all insert/edit/delete operations.\n- Maintain `schema_validity_rate` at 100% for all structural operations (insert/delete).\n- Achieve `operation_precision` at 100% -- only declared target blocks are affected.\n- Maintain `structural_integrity` at 100% -- non-target structures preserved.\n- Keep `conflict_rate` below 10% with one scoped retry cap.\n- Maintain fast `publish_latency` (median \u003c3000ms).\n\n## Non-goals\n\n- Multi-space orchestration (cross-space page operations).\n- Fully autonomous conflict resolution without human review.\n- Block type conversion (paragraph to heading, etc.).\n- Inline node editing (mentions, status, emoji, date).\n\n## Approach\n\nUse a minimal-change pipeline:\n\n`fetch -\u003e classify -\u003e extract_prose -\u003e md_assist_edit -\u003e adf_table_edit -\u003e merge_candidates -\u003e patch -\u003e verify -\u003e publish`\n\n## Planned Capabilities\n\n### Pipeline States\n\n`fetch -\u003e classify -\u003e extract_prose -\u003e md_assist_edit -\u003e adf_table_edit -\u003e merge_candidates -\u003e patch -\u003e verify -\u003e publish`\n\n### Operation Types\n\n- `replace` (Foundation): text-value replacement at leaf paths within existing blocks.\n- `insert` (Structural): add new ADF blocks at specified positions within scope.\n- `remove` (Structural): delete existing ADF blocks within scope.\n\n### Structural Operations (Phases 6-9)\n\n- Section composition: insert/delete full sections (heading + body blocks).\n- Table creation: insert new tables with specified dimensions.\n- List creation: insert new lists with specified items.\n- Multi-page orchestration: coordinated edits across page hierarchies with rollback.\n\n### Lifecycle Commands\n\n- `create-subpage` (child page creation under an explicit parent)\n- `--bootstrap-empty-page` (explicit first-edit scaffold injection for empty pages)\n\n### Advanced Operations (Phase 9)\n\n- Table topology changes (row/column add/remove).\n- Structural block attribute editing (media metadata, macro parameters).\n- MCP server integration (expose pipeline as MCP tools for AI agents).\n\n## Roadmap\n\nDetailed planning docs are under `roadmap/`.\n\nStart here: `roadmap/README.md`.\n\n## Ideas\n\nIncubating concepts that are not scheduled yet are stored under `ideas/`.\n\nStart here: `ideas/README.md`.\n\n## OpenSpec\n\nExecutable specs and change archives are under `openspec/`.\n\nStart here: `openspec/README.md`.\n\n## Current Status\n\n- **Foundation (Phases 0-5): complete.** All 5 implementation phases delivered. Live Confluence runtime operational. 159 tests pass. All 7 readiness gates pass. 3 releases shipped (v0.1.0 through v0.1.2).\n- **Structural (Phases 5.5-9): planning active.** Roadmap redesigned for structural operations. Decisions D-017 through D-021 define the architectural approach. Phase 5.5 (Structural Refactor) is the next implementation target: type consolidation and pipeline preparation with zero behavior change, followed by Phase 6 (Block Operation Foundation).\n- Foundation KPI framework superseded by Structural KPI framework (D-019). The Pattern B context reduction issue is expected to be addressable through Phase 6 structural operations.\n\n## Project Structure\n\n- `crates/`: Rust workspace implementation (`atlassy-cli`, `atlassy-pipeline`, `atlassy-adf`, `atlassy-confluence`, `atlassy-contracts`).\n- `roadmap/`: strategy, defaults, KPI protocol, risks, and readiness policy.\n- `openspec/specs/`: active behavior specs for implemented capabilities.\n- `openspec/changes/archive/`: completed phase execution records.\n- `qa/`: sandbox QA playbooks and example manifests for live validation.\n- `ideas/`: incubating or deferred scope beyond v1.\n- `artifacts/`: temporary CLI outputs (`run`, `run-batch`, `run-readiness`), intentionally non-versioned.\n\n## Reproducibility Metadata\n\n`artifacts/` is temporary and may be deleted at any time. Any result referenced in docs or decisions must include provenance:\n\n- `git_commit_sha` (full 40-character SHA)\n- `git_dirty` (whether the working tree had local changes)\n- `pipeline_version`\n- command set used to regenerate outputs\n\nSuggested capture sequence before running experiments:\n\n```bash\ngit rev-parse HEAD\ngit status --porcelain\ncargo run -p atlassy-cli -- run ...\ncargo run -p atlassy-cli -- run-batch ...\ncargo run -p atlassy-cli -- run-readiness --verify-replay ...\n```\n\n## Success Metrics\n\n### Primary (Structural)\n\n- `operation_success_rate`\n- `schema_validity_rate`\n- `operation_precision`\n- `structural_integrity`\n- `conflict_rate`\n- `publish_latency`\n\n### Diagnostic (from Foundation)\n\n- `context_reduction_ratio`\n- `scoped_section_tokens`\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitimark%2Fatlassy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkitimark%2Fatlassy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitimark%2Fatlassy/lists"}