You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -195,3 +195,79 @@ docker-compose -f instances/instance-b/docker-compose.yml down
- Each instance has isolated data (changes in A don't appear in B)
- Authentication works independently on each instance
- API calls to each instance return independent results
## Working Model
This section captures the evolving conceptual model of polycentric knowledge processing as refined through experimentation. It supplements the Project Overview with operational insights.
### Core Concepts
#### Polycentricity vs Distribution
- **Polycentric:** Orchestration over heterogeneous instances, each maintaining its own "center" (autonomy, authority, perspective)
- **Distributed:** Orchestration over homogeneous instances with merged/blurred centers
- The system must accommodate genuinely heterogeneous infrastructure (cloud + local, different auth mechanisms, different operators)
#### The Seam
A *seam* is a set of shared referent IRIs that allow join across perspectives without collapsing them:
- **Common referents** (e.g., actant IRIs) are shared across instances unchanged
- **Divergent readings** live in *perspective-scoped* structures (e.g., characterizations grouped by `ant:withinNetwork`)
- No `owl:sameAs`, no alignment predicates, no new terms required — the existing data patterns support "common referents, distinct readings"
When designing polycentric scenarios, ask: *"What are the common referents (the seam) and what are the perspective-scoped structures that carry the divergent readings?"*
#### Sharing as Projection
Sharing is a *projection mechanism* operating over any RDF vocabulary, not a transfer of complete graphs:
- **Named profiles** (e.g., `DISCOURSE_EVIDENCE_PROFILE`, `ANT_COMPARISON_PROFILE`) are configurations of this mechanism
- **Stub types** enable "identity without payload" — share that something exists and what it's called, without leaking prose/detail
#### Non-Collapse Invariant
When two perspectives share referent IRIs, they must remain distinct after merge/comparison:
- Exactly N perspectives, N networks (no unintended merged entity)
- Shared referents may be characterized in multiple perspectives (distinguishable by scope)
- Comparisons are *views*, not new canonical artifacts — no merged perspective is written back
### Operational Principles
1. **Ontology/data as immutable input:** The system adapts to existing data patterns rather than requiring data to be reshaped. Observations about data shape are recorded as *findings*, not patches.
2. **Experiments as reproducible artifacts:** Each experiment includes a README (repro guide), captured run logs, and findings (including operational issues). This supports knowledge accumulation.
3. **Heterogeneous deployment is first-class:** Configuration must accommodate diverse auth mechanisms (bearer token, LDAP), multi-tenant services (`FLEXO_ORG_NAME`), and mixed local/cloud topologies.
4. **"Just enough" sharing:** Policies express minimal sufficient projection — full export, stub (identity only), or excluded — enabling trust boundaries between collaborating centers.
### Model Evolution
This working model is refined through experimentation. Key sources:
- **Experiments 1-3** (PR #1, `polycentric-experiments` branch): Validated ontology-agnostic sharing, the seam pattern, and non-collapse verification
- **Design specs:** `docs/superpowers/specs/` contains detailed reasoning behind model decisions
## Local Guidance Convention
This project uses a two-tier guidance system for Claude Code:
- Applies to the file's directory and all descendants
- Takes precedence on conflict with local guidance
### Local Guidance
- `.claude/CLAUDE.md` — Local working notes, not version-controlled
- `.claude/` directories are gitignored
- Supplements (does not override) version-controlled guidance
- May exist at any directory level for scope-specific notes
### Semantics
- **Scope:** Guidance applies to the directory containing the file and all subdirectories
- **Inheritance:** Nested guidance accumulates (child adds to parent)
- **Precedence:** On conflict, version-controlled wins; within tier, more specific (closer to leaf) wins
### Coherence Checks
Local guidance should be checked for coherence with team guidance:
- **On commit:** Review local guidance against changed scope for incompatibilities
- **On PR:** Review for drift between local and team-wide guidance
- **Promotion:** When local insights prove coherent and valuable, promote to version-controlled `CLAUDE.md`
### Purpose
Local guidance provides engineering room for working models before they're ready for team consumption. Knowledge processing is inherently lossy — local guidance stays local until it demonstrates coherence, avoiding noise in the team view.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.