Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,14 @@ To create the live fictional Acme content, use this bounded manual inventory:

No code path creates, edits, publishes, searches, crawls, or deletes Confluence content.

The bounded Acme environment was live-validated on August 4, 2026 without committing its
credentials or page ID. The explicit refresh imported the Manager Travel Approval Guide and a
second refresh returned `already_current`; the external link and responsive catalog detail were
verified with zero browser console errors. The credential used for that local check reported
broader page operations than view-only access. That broader credential is an accepted limitation
for the current demo environment rather than a PR B blocker. Application code remains read-only
regardless: the adapter implements only the two GET requests above.

Stop the stack while preserving database data:

```bash
Expand Down
18 changes: 12 additions & 6 deletions docs/demo-scenario.md
Original file line number Diff line number Diff line change
Expand Up @@ -947,8 +947,8 @@ the first delivery may have succeeded.
## Milestone 7 PR B Read-Only Confluence Identity Extension

The Manager Travel Approval Guide retains the stable ChangeOps identity
`document-manager-travel-approval-guide`. When a reviewer has manually configured a real Acme
Confluence page and explicitly refreshed it, the document detail additionally shows:
`document-manager-travel-approval-guide`. The bounded Acme demo environment was live-validated on
August 4, 2026: after an explicit refresh, the document detail shows:

- source provider `Confluence Cloud`;
- the validated external page ID;
Expand All @@ -957,10 +957,16 @@ Confluence page and explicitly refreshed it, the document detail additionally sh
- source-updated and last-refreshed timestamps;
- an **Open in Confluence** link.

The repository and automated demo remain honest when no live page exists: the detail shows that
Confluence metadata has not been imported, while fixture-backed tests prove the full boundary.
`make demo-reset` preserves a successful import. A failed later refresh leaves the last-known-good
metadata visible with the precise failure state.
Credentials and the real page ID remain environment-only. The repository and automated demo stay
honest when that configuration is absent: the detail shows that Confluence metadata has not been
imported, while fixture-backed tests prove the full boundary. `make demo-reset` preserves a
successful import. A failed later refresh leaves the last-known-good metadata visible with the
precise failure state.

The live walkthrough confirmed an idempotent `already_current` refresh, the expected external link,
responsive presentation, and zero browser console errors. The adapter itself remains read-only,
but the currently configured local Atlassian credential reports page update and delete operations;
the broader credential is an explicitly accepted limitation for the current demo environment.

Confluence is authoritative only for the imported page metadata. ChangeOps remains authoritative
for its internal document identity, curated typed policy relationships, assessment behavior,
Expand Down
6 changes: 4 additions & 2 deletions docs/milestone-7-enterprise-knowledge-catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

## Status

PR A is merged. PR B is implemented in code with fixture-backed verification; creating and
configuring the real Acme Confluence page remains the documented manual environment step. PR C
PR A is merged. PR B is implemented with fixture-backed verification and was live-validated
against the bounded Acme Confluence knowledge base on August 4, 2026. Live credentials and page
identifiers remain environment-only. The current local credential is broader than least privilege
and is an explicitly accepted current-environment limitation, not a PR B blocker. PR C
relationship-origin provenance remains deferred.

This document is based on repository `main` at commit `14cfb5d` and on the implementation,
Expand Down
20 changes: 14 additions & 6 deletions docs/remaining-work-inventory.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ Remaining work must add a distinct product, architecture, deployment, or present

## Recommended remaining work

- [x] Narrow Confluence-backed document source integration (live Acme page setup remains manual)
- [x] Narrow Confluence-backed document source integration and live Acme page validation
- [ ] Trusted relationship provenance and governance
- [ ] Unified audit timeline
- [ ] AWS deployment architecture decision
Expand Down Expand Up @@ -275,15 +275,23 @@ A Jira remediation task may include a link to the relevant Confluence page.

### Completion criteria

- [ ] A small, coherent Acme Confluence knowledge base exists.
- [ ] Catalog document records link to real Confluence pages after the documented live setup.
- [ ] At least the Manager Travel Approval Guide exists as an actual page after manual setup.
- [x] A small, coherent Acme Confluence knowledge base exists.
- [x] The selected catalog document record links to its real Confluence page after live setup.
- [x] The Manager Travel Approval Guide exists as an actual page after manual setup.
- [x] ChangeOps can import or resolve bounded page metadata.
- [x] Imported identity is stable and idempotent.
- [x] Automated tests do not require live Confluence.
- [x] CI uses mocked or fixture-based provider behavior.
- [x] ChangeOps never edits Confluence.

The live Acme space contains the Manager Travel Approval Guide plus bounded procedures, training,
FAQ, and policy-reference context. Only the Manager Travel Approval Guide is wired into ChangeOps.
The August 4, 2026 live walkthrough confirmed successful import, `already_current` idempotency, the
external link, responsive presentation, and zero console errors. The adapter issues only bounded
GET requests. The current local Atlassian credential nevertheless has update and delete permission,
which is an explicitly accepted limitation for the current demo environment. The operational
hardening checklist remains honest about the credential permission boundary without blocking PR B.

---

## 3. Trusted relationship provenance
Expand Down Expand Up @@ -551,7 +559,7 @@ Deploy the existing application reproducibly.
- [ ] Demo reset cannot run against an unrecognized database.
- [ ] Destructive actions are protected.
- [ ] External Jira writes target only the dedicated demo project.
- [ ] Confluence access is read-only.
- [ ] Confluence credential access is restricted to read-only.
- [ ] Credentials have minimal permissions.
- [ ] Rate-limit and provider failures are understandable.
- [ ] External calls use bounded timeouts.
Expand Down Expand Up @@ -725,7 +733,7 @@ Jira and Confluence REST integrations alone do not automatically justify MCP.
2. [x] Inspect current catalog models and seeded relationships.
3. [x] Define a narrow Enterprise Knowledge Catalog milestone.
4. [x] Implement the read-only catalog explorer.
5. [ ] Create the bounded Acme Confluence content set using the documented manual setup.
5. [x] Create the bounded Acme Confluence content set using the documented manual setup.
6. [x] Add read-only Confluence metadata import and links.
7. [ ] Expose trusted relationship provenance.
8. [ ] Decide whether AI-proposed relationship governance adds sufficient value.
Expand Down
5 changes: 4 additions & 1 deletion docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -688,7 +688,10 @@ Delivered behavior

Milestone 7 PR B — Read-Only Confluence Document Identity

Status: complete in code; live Acme page creation and environment configuration remain manual.
Status: complete in code and live-validated against the environment-configured Acme Manager Travel
Approval Guide. Credentials and the page ID remain uncommitted. The current local credential is
broader than view-only access; that is an explicitly accepted environment limitation rather than a
PR B blocker.

Delivered behavior

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading