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
2 changes: 1 addition & 1 deletion .agents/skills/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This directory contains repo-local copies of canonical skills from
`The-Interdependency/skill-lib`.

Source commit: `b4234ca29529f56526541df8deb58c2c19570792`
Source commit: `a0cb6285e37734609b4b487ae4a2e44c6108d2b8`

Repo-local copies are not the source of truth. Edit `skill-lib` first,
then propagate from the canonical source.
Expand Down
46 changes: 45 additions & 1 deletion .agents/skills/interdependent-work-graph/PORTFOLIO_PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Each participating repository remains self-contained and authoritative for its o
docs/work-graphs/repository-plan-report.json
```

The report validates against:
That report validates against:

```text
interdependent-work-graph/repository-plan-report.schema.json
Expand All @@ -31,6 +31,30 @@ portfolio plan owns no repo canon

Aggregation never transfers authority. It never upgrades candidate status, proof status, measurement validity, empirical validity, semantic validity, deployment authority, or permissions.

## Current visibility versus archive history

A GitHub repository marked **archived** is historical state, not a current portfolio member merely because it remains public or discoverable.

For any surface claiming to show the **current organization, current projects, current portfolio, current dependency map, or current repository constellation**:

- filter archived repositories **before** route generation, counts, categories, map nodes, graph-edge projection, portfolio membership, or ordinary visitor navigation;
- do not render an archived repository as a current node with an `archived` badge — absence from the current surface is the default;
- do not allow retained/offline snapshots to reintroduce archived repositories into a current view;
- keep archive status available in source-host metadata and provenance when needed;
- permit an archived repository only when the task explicitly requests history, lineage, migration, reproducibility, or an archive surface, and label that historical scope as such;
- preserve an archived repository as an exact evidence/source participant when a bounded historical work graph explicitly depends on it. Historical evidence is not current portfolio membership.

This is a **selection boundary before projection**, not a deletion rule. Archiving does not erase commits, provenance, old dependencies, or evidence; it removes the repository from ordinary current-facing organization displays.

A current-view implementation should therefore satisfy:

```text
current candidates = discovered repositories - archived repositories
projection(current candidates) -> routes + counts + categories + nodes + current relations
```

Filtering only at the final HTML/CSS layer is insufficient because archived repositories would still distort counts, topology, and generated identities.

## Machine use

From a workspace containing checked-out repository reports:
Expand Down Expand Up @@ -68,6 +92,8 @@ The aggregator uses only the Python standard library. It validates the frozen co

Local checkout paths are deliberately excluded from the projected body and its digest. Identical report content therefore produces identical portfolio identity regardless of where repositories are checked out.

The reference aggregator does not query GitHub archive status itself. A caller constructing a **current** report set from repository discovery must apply the archive-selection boundary above before invoking `portfolio_plan.py`. Explicitly supplied historical report sets remain valid because membership is intentional and their scope is historical rather than inferred current state.

## Staleness

A report is stale when the repository state of interest no longer matches `source.commit`. An aggregator may expose that mismatch if its execution environment can resolve repository HEAD, but it must not rewrite the report or infer what changed. Refreshing a report is a repo-owned operation.
Expand All @@ -76,6 +102,8 @@ A report is stale when the repository state of interest no longer matches `sourc

A portfolio view is complete only for reports actually supplied. A missing repository must not be synthesized from memory, neighboring repositories, package metadata, or a consumer's assumptions. If a known participant lacks a report, record that absence as `hmmm` in the calling workflow.

An archived repository omitted from a current view is **not** a missing report. It is intentionally outside current membership. Do not turn correct archive exclusion into a `hmmm` completeness warning.

## Relationship to stack manifests

`repository-plan-report.json` answers:
Expand All @@ -88,8 +116,24 @@ A stack manifest answers:

They are complementary. Neither replaces the other.

An archived repository may still appear in a stack manifest when that bounded task intentionally consumes its exact historical state. That does not make the repository current again.

## Validation

For a current organization or portfolio surface, require all of the following before publication:

- no archived repository appears in the projected current repository set;
- current repository counts equal the post-archive-filter set;
- generated current routes contain no archived repository route;
- current graph nodes and current relation tables have no archived endpoint;
- offline/fallback inputs are subjected to the same archive-selection rule before current projection;
- a historical/archive view, when present, is explicitly named and cannot be mistaken for current state.

For the deterministic report aggregator itself, retain the existing contract checks: exact report/schema identity, no duplicates, authority non-transfer, deterministic ordering, and machine-local-path exclusion.

## hmmm

- Automatic discovery of organization repositories is deliberately not part of v1; an explicit input set avoids silently treating repository visibility as portfolio membership.
- The reference aggregator deliberately does not contact GitHub to determine archive status; current-view callers must resolve and apply that host-state selection before aggregation.
- Cryptographic producer authentication remains separate from content identity.
- A future service may fetch reports directly from GitHub or another registry, but the deterministic local projection remains the reference behavior.
14 changes: 9 additions & 5 deletions .agents/skills/the-interdependency/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ description: Protocol and workflow for all tasks involving The Interdependency o
## Core Doctrine

- **Structure preservation first**: Before any summarization, compression, decision, or output, preserve the complete relational structure, variables, topology, epistemic status (declared / implemented / inferred / hmmm), distinct layers (lived experience vs formal claims vs emotional), and explicitly mark all unresolveds. This follows the org's neurodivergence-preserving interaction principles.
- **Resource-run preflight and completion**: Resource scarcity requires contemplation **before** a compute run begins. Before launch, inspect or estimate whether available time under real external constraints, CPU, memory, disk, battery/power, network, quotas, API/tool usage limits, and session/process durability are sufficient for the run to reach its natural terminal condition. If there is material doubt that it can finish, do not start it: reduce, stage/checkpoint, relocate, acquire resources, or leave it `hmmm`. Once a healthy run begins, let it finish to completion or deterministic computational failure unless the user explicitly cancels it or an unforeseen real resource/safety emergency requires interruption. Do **not** invent or enforce a wall-clock cutoff merely to make work bounded, falsifiable, or convenient. Runtime/resource ceilings are stopping criteria only when the quantity is itself load-bearing to the hypothesis or acceptance criterion, an authorized safety boundary, or a real externally imposed hard limit, and they must be justified before launch.
- **METAPAT consultation gate**: Consult current `The-Interdependency/metapat` before committing a conceptual choice when the task must decide which distinctions, relations, boundaries, transformations, scales, or cross-domain correspondences should organize downstream work. METAPAT consultation is also required when an unresolved conceptual choice would constrain architecture, semantics, measurement, ontology, or later falsifiable claims. Do not consult METAPAT merely to execute an already-fixed implementation, run tests, repair syntax, move data, or apply a relation whose meaning and boundary are already established. METAPAT is the source of truth for its own doctrine; skill-lib routes to it and must not duplicate a frozen theory snapshot.
- **EDCMBONE transcript assembly & analysis**: When the task involves assembling or analyzing transcripts (e.g. for EDCMBONE / Energy Dissonance Circuit Model Bound Operator Numerical Evaluation), apply the established EDCMBONE lens: map energy flows and dissonance circuits, compute/report F-loss metrics (fidelity, deletion, inversion, collapse detection), tag F1–F6 failure modes, segment for cognitive accessibility (especially neurodivergent readers), and preserve transcript topology. Do not improvise assembly; extend or adhere to patterns from the edcmbone repository.
- **Code writing standards**: When writing or modifying code that touches The-Interdependency:
Expand Down Expand Up @@ -66,11 +67,12 @@ When consultation triggers, inspect the current METAPAT repository state before
## Workflow

1. **Trigger detection**: Activate on any The-Interdependency context or the example trigger phrases listed in the description.
2. **METAPAT gate**: Before conceptual or architectural commitment, run the consultation test above. If triggered, inspect current METAPAT before selecting the relation, boundary, transformation, or cross-domain mapping.
3. **Context assembly**: For transcript work, explicitly structure output using EDCMBONE energy-dissonance mapping, F-metrics, failure-mode tags, and accessibility annotations. Preserve full original relations.
4. **Artifact production**: Write code/docs with msdmd blocks (if applicable) + dedicated "Usage Guidance" section or equivalent. Include examples that can be copy-pasted.
5. **GitHub hygiene**: Check drift, update indexes, propagate only after validation. Reference this skill in commit messages where relevant.
6. **Output packaging**: Structure responses with:
2. **Resource preflight**: Before starting any compute run, decide whether the available resources can sustain it to its natural terminal condition. If not, do not launch it. Do not substitute an arbitrary timeout for preflight judgment.
3. **METAPAT gate**: Before conceptual or architectural commitment, run the consultation test above. If triggered, inspect current METAPAT before selecting the relation, boundary, transformation, or cross-domain mapping.
4. **Context assembly**: For transcript work, explicitly structure output using EDCMBONE energy-dissonance mapping, F-metrics, failure-mode tags, and accessibility annotations. Preserve full original relations.
5. **Artifact production**: Write code/docs with msdmd blocks (if applicable) + dedicated "Usage Guidance" section or equivalent. Include examples that can be copy-pasted.
6. **GitHub hygiene**: Check drift, update indexes, propagate only after validation. Reference this skill in commit messages where relevant.
7. **Output packaging**: Structure responses with:
- Preserved structure / epistemic layers first.
- EDCMBONE-mapped analysis where transcripts are involved.
- Usage guidance and examples.
Expand All @@ -80,6 +82,8 @@ When consultation triggers, inspect the current METAPAT repository state before
## Anti-patterns

- Flattening, dropping variables, or losing topology/relations before acting or summarizing (directly conflicts with neurodivergence preservation).
- Starting a compute run when available resources have not been considered sufficiently to expect completion.
- Terminating a healthy compute run because of an arbitrary wall-clock limit that was not actually load-bearing to the claim, safety boundary, or external resource limit.
- Producing code, docs, or analysis without explicit usage guidance and examples.
- Assembling or analyzing EDCMBONE transcripts without applying the framework's energy circuit, F-loss, and failure-mode model.
- Performing GitHub or org maintenance without drift checks or index updates.
Expand Down