Skip to content
Open
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
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/01_quick_issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Quick Issue
about: Fast path for questions, confusing docs, or lightweight reports
title: "[QUICK] "
labels: "triage"
assignees: ""
---

## What happened?

<!-- One or two sentences is enough. -->

## What did you expect to find or do?

<!-- Optional, but helpful for navigation and documentation issues. -->

## Link or path

<!-- Optional: paste the URL, file path, or page section if you have it. -->
7 changes: 5 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: ORGAN-V Governance Docs
- name: Technical Architecture
url: https://github.com/organvm-v-logos/public-process/blob/main/docs/architecture.md
about: Start here for system diagrams, build flow, and integration contracts
- name: ORGAN-V Docs
url: https://github.com/organvm-v-logos/public-process/tree/main/docs
about: Process architecture, dissertation SOP, and publication standards
about: ADRs, data contracts, staging reference, and publication standards
19 changes: 6 additions & 13 deletions .github/ISSUE_TEMPLATE/stranger_test_feedback.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,30 +9,23 @@ assignees: ""
## Session Metadata

- Date:
- Session type: (live / async)
- Participant profile:

## Tasks Attempted

List each task and whether it succeeded.
List the task and result. One task is enough.

1. Task:
Result: ✅ / ❌
2. Task:
Result: ✅ / ❌
- Task:
- Result:

## Friction Points

What blocked, confused, or slowed the participant?
What blocked, confused, or slowed the participant? Plain language is enough.

## Trust Signals

What increased or decreased confidence in the project?

## Recommended Changes
## Evidence or Suggested Fix

Concrete, testable changes this feedback suggests.

## Evidence

Links/screenshots/logs (if available and consented).
Links, screenshots, logs, or a suggested fix if available.
50 changes: 43 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,51 @@ jobs:
run: |
python -m src.indexer \
--posts-dir ../_posts/ \
--logs-dir ../_logs/ \
--output-dir ../data/
cd ..
if git diff --quiet data/; then
echo "::notice::Data files are up to date"
else
echo "::error::Data files are out of date — run the indexer locally and commit the result"
git diff --stat data/
exit 1
fi
python - <<'PY'
import json
import subprocess
import sys
from pathlib import Path

changed = subprocess.check_output(
["git", "diff", "--name-only", "--", "data/"],
text=True,
).splitlines()

semantic_drift = []
timestamp_only = []
for name in changed:
path = Path(name)
if path.suffix != ".json" or not path.exists():
semantic_drift.append(name)
continue
try:
before = json.loads(
subprocess.check_output(["git", "show", f"HEAD:{name}"], text=True)
)
after = json.loads(path.read_text())
except Exception:
semantic_drift.append(name)
continue
before.pop("updated", None)
after.pop("updated", None)
if before == after:
timestamp_only.append(name)
else:
semantic_drift.append(name)

if semantic_drift:
print("::error::Data files are out of date — run the indexer locally and commit the result")
subprocess.run(["git", "diff", "--stat", "--", *semantic_drift], check=False)
sys.exit(1)
if timestamp_only:
print("::notice::Data drift is limited to generated updated timestamps")
else:
print("::notice::Data files are up to date")
PY

- name: Check internal links
working-directory: _pipeline
Expand Down
8 changes: 6 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,14 @@ bundle exec jekyll serve

### Reporting Issues

- Use GitHub Issues for bug reports and feature requests
- Use the provided issue templates when available
- Use **Quick Issue** when you just need to report friction, ask a question, or
file a documentation gap.
- Use the specific bug, feature, first-contribution, or stranger-test templates
only when that structure helps.
- Include clear reproduction steps for bugs
- For documentation issues, specify which file and section
- Architecture/navigation confusion is useful feedback. If you cannot find the
system diagram you expected, open a Quick Issue and name the path you tried.

### Making Changes

Expand Down
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

> Building in public: the methodology, cross-validation cycle, and lessons learned from coordinating ~79 repositories across 8 GitHub organizations using AI agents as an ensemble of specialized reviewers.

[Introduction](#introduction) | [The Eight-Organ Model](#the-eight-organ-model) | [Methodology](#methodology) | [The Cross-Validation Cycle](#the-cross-validation-cycle) | [Per-Agent Findings](#per-agent-findings) | [Synthesis](#synthesis) | [Simulating Organizational Scale](#simulating-organizational-scale-in-solo-practice) | [Lessons Learned](#lessons-learned) | [Cross-References](#cross-references)
[Introduction](#introduction) | [Technical Architecture](docs/architecture.md) | [The Eight-Organ Model](#the-eight-organ-model) | [Methodology](#methodology) | [The Cross-Validation Cycle](#the-cross-validation-cycle) | [Per-Agent Findings](#per-agent-findings) | [Synthesis](#synthesis) | [Simulating Organizational Scale](#simulating-organizational-scale-in-solo-practice) | [Lessons Learned](#lessons-learned) | [Cross-References](#cross-references)

---

Expand All @@ -28,6 +28,11 @@ The result is not just a set of repositories. It is evidence that **AI agents ca

This essay is itself an ORGAN-V artifact: a public-process document that makes the methodology visible, inspectable, and reproducible.

For the engineering topology, build flow, and integration diagrams, start with
[Technical Architecture](docs/architecture.md). It is the shortest path for a
backend engineer trying to understand how this repository fits into the
eight-organ system.

---

## The Eight-Organ Model
Expand Down Expand Up @@ -316,6 +321,7 @@ The system is live. The process is public. The methodology is documented. What c

### Operational Documents

- [Technical Architecture](docs/architecture.md)
- [Quality Policy](docs/quality-policy.md)
- [Contributor Runway](docs/contributor-runway.md)
- [Distribution Instrumentation Standard](docs/distribution-instrumentation.md)
Expand Down
1 change: 1 addition & 0 deletions _includes/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<nav class="site-nav" aria-label="Main navigation">
<a href="{{ site.baseurl }}/">Home</a>
<a href="{{ site.baseurl }}/about/">About</a>
<a href="{{ site.baseurl }}/architecture/">Architecture</a>
<a href="{{ site.baseurl }}/categories/">Categories</a>
<a href="{{ site.baseurl }}/tags/">Tags</a>
<a href="{{ site.baseurl }}/dissertations/">Dissertations</a>
Expand Down
1 change: 1 addition & 0 deletions _pipeline
Submodule _pipeline added at 762919
2 changes: 1 addition & 1 deletion data/cross-references.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": "1.1",
"updated": "2026-05-29",
"updated": "2026-07-06",
"total": 65,
"entries": {
"2026-02-10-building-in-public.md": {
Expand Down
2 changes: 1 addition & 1 deletion data/essays-index.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": "1.1",
"updated": "2026-05-29",
"updated": "2026-07-06",
"generated_by": "essay-pipeline indexer v0.3.0",
"total_essays": 65,
"total_words": 175691,
Expand Down
2 changes: 1 addition & 1 deletion data/logs-index.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": "1.0",
"updated": "2026-05-29",
"updated": "2026-07-06",
"generated_by": "essay-pipeline indexer v0.3.0",
"total_logs": 458,
"total_words": 145314,
Expand Down
2 changes: 1 addition & 1 deletion data/publication-calendar.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": "1.2",
"updated": "2026-05-29",
"updated": "2026-07-06",
"total_essays": 65,
"essays": {
"2026-02-10": 5,
Expand Down
130 changes: 130 additions & 0 deletions docs/architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
---
layout: default
title: "Technical Architecture"
permalink: /architecture/
---

# Technical Architecture

This page is the first stop for engineers who need the repo topology, build
flow, and cross-organ integration points without reading the full essay corpus.

## System Context

`public-process` is ORGAN-V (Logos): the public discourse layer for the ORGANVM
system. It turns upstream system work into essays, indexes, RSS output, and
public-facing process documentation.

```mermaid

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 Render Mermaid blocks before publishing architecture page

When this page is served through the new /architecture/ nav link, these fenced mermaid blocks are still emitted by Jekyll/kramdown as highlighted code blocks; the repo has no converter for code.language-mermaid, and the existing Mermaid init in _layouts/default.html only targets .mermaid elements. As a result, the advertised architecture diagrams render as raw source on the site, so please emit <div class="mermaid">/pre.mermaid or add a client-side conversion step for these fences.

Useful? React with 👍 / 👎.

flowchart LR
I["ORGAN-I\nTheory"] --> II["ORGAN-II\nArt"]
II --> III["ORGAN-III\nCommerce"]
III --> V["ORGAN-V\nPublic Process"]
IV["ORGAN-IV\nOrchestration"] -.governs.-> I
IV -.governs.-> II
IV -.governs.-> III
IV -.governs.-> V
V --> VI["ORGAN-VI\nCommunity"]
V --> VII["ORGAN-VII\nMarketing"]
META["META\nRegistry + Governance"] -.coordinates.-> IV
```

The invariant is unidirectional flow: upstream organs can feed downstream
organs, but downstream organs must not create back-edges.

## Repository Topology

```mermaid
flowchart TB
POSTS["_posts/\ncomplete dated essay corpus"]
ESSAYS["essays/\ncurated long-form essays"]
LOGS["_logs/\ncaptain's logs"]
DISS["_dissertations/\ndoctoral-length work"]
DATA["data/\ngenerated indexes and metrics"]
LAYOUTS["_layouts/ + _includes/\nJekyll rendering shell"]
PAGES["index.md, about.md,\ndashboard.md, connections.md"]
BUILD["Jekyll build\nbundle exec jekyll build"]
SITE["GitHub Pages site\nRSS + sitemap + pages"]

POSTS --> DATA
ESSAYS --> DATA
LOGS --> DATA
POSTS --> BUILD
ESSAYS --> BUILD
LOGS --> BUILD
DISS --> BUILD
DATA --> BUILD
LAYOUTS --> BUILD
PAGES --> BUILD
BUILD --> SITE
```

The dual essay directories are intentional:

- `_posts/` is the complete date-sorted corpus that powers feeds and indexes.
- `essays/` is the curated collection with stable long-form permalinks.
- `data/` contains generated JSON/YAML artifacts used by dashboards and
cross-reference pages.

## Publication Flow

```mermaid
sequenceDiagram
participant Upstream as Upstream organs
participant Author as Essay authoring
participant Data as Data indexes
participant CI as GitHub Actions
participant Site as GitHub Pages/RSS
participant Downstream as Community + marketing

Upstream->>Author: promotion.completed or governance.updated context
Author->>Author: write or update Markdown with frontmatter
Author->>Data: regenerate indexes when corpus changes
Data->>CI: commit Markdown and generated artifacts
CI->>CI: build, link check, Pages deploy
CI->>Site: publish HTML, feed.xml, sitemap
Site->>Downstream: essay-markdown, essays-index, rss-feed
```

## Runtime And Build Boundaries

This is a static Jekyll site. There is no application server in production and
no runtime database. Most operational risk is content integrity, generated-data
freshness, link health, and cross-organ dependency accuracy.

Primary local commands:

```bash
bundle install
bundle exec jekyll build --strict_front_matter --future
bundle exec jekyll serve
```

Primary CI surfaces:

- `.github/workflows/ci.yml` validates the site build.
- `.github/workflows/pages.yml` publishes the GitHub Pages site.
- `.github/workflows/link-check.yml` checks published/document links.
- `.github/dependabot.yml` keeps Ruby/GitHub Actions dependencies visible.

## Integration Contracts

`public-process` consumes dependency context from:

- `organvm-i-theoria/recursive-engine--generative-entity`
- `organvm-ii-poiesis/metasystem-master`
- `organvm-iii-ergon/public-record-data-scrapper`
- `organvm-iv-taxis/agentic-titan`

It produces:

- `essay-markdown` for ORGAN-VI and ORGAN-VII
- `essays-index` for ORGAN-V
- `rss-feed` for external readers

See also:

- [ADR-001: Initial Architecture and Technology Choices](adr/001-initial-architecture.md)
- [ADR-002: Cross-Organ Integration and Dependency Patterns](adr/002-integration-patterns.md)
- [Data Contract: Surfaced Items](data-contract-surfaced-items.md)
- [Distribution Instrumentation](distribution-instrumentation.md)
Comment on lines +127 to +130

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 Fix architecture see-also links for the site

When a reader opens the published Architecture page from the header, permalink: /architecture/ means these relative Markdown hrefs resolve from /architecture/, not from /docs/; without a relative-link rewrite plugin in the Gemfile, links like adr/001-initial-architecture.md point to /public-process/architecture/adr/001-initial-architecture.md, which does not match the built docs location. Use site-rooted relative_url links or the generated docs paths so the new page's reference section is usable.

Useful? React with 👍 / 👎.