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
31 changes: 0 additions & 31 deletions .github/workflows/app-token-smoke.yml

This file was deleted.

23 changes: 20 additions & 3 deletions .github/workflows/ci_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,50 @@ on:
branches: [main]
paths:
- '**/*.md'
- '.markdownlint*'
- '.lychee*'
pull_request:
branches: [main]
paths:
- '**/*.md'
- '.markdownlint*'
- '.lychee*'

jobs:
docs-lint:
runs-on: ubuntu-latest
timeout-minutes: 10
timeout-minutes: 8 # Reduced from 10 minutes

steps:
- name: Checkout
uses: actions/checkout@v4

# Cache lychee for faster link checking
- name: Cache lychee
uses: actions/cache@v4
with:
path: ~/.cache/lychee
key: lychee-${{ runner.os }}-${{ hashFiles('**/*.md') }}
restore-keys: |
lychee-${{ runner.os }}-

# Markdown style/lint
- name: markdownlint
uses: DavidAnson/markdownlint-cli2-action@v16
with:
globs: |
**/*.md

# Link checker
# Link checker with caching
- name: Link check
uses: lycheeverse/lychee-action@v1
with:
args: >
--no-progress --verbose --exclude-mail --accept 200,204
--no-progress --verbose --exclude-mail --accept 200,204,429
--cache --max-cache-age 1d
--include **/*.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Docs validation complete
run: echo "DOCS=OK"
29 changes: 26 additions & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,19 @@ name: lint
on:
workflow_dispatch:
pull_request:
paths:
- '.github/workflows/**'
- 'scripts/**'
- '**.yml'
- '**.yaml'
push:
branches:
- main
paths:
- '.github/workflows/**'
- 'scripts/**'
- '**.yml'
- '**.yaml'

jobs:
lint:
Expand All @@ -15,16 +25,29 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install dependencies
- name: Cache system dependencies
uses: actions/cache@v4
id: sys-cache
with:
path: /usr/local/bin/actionlint
key: actionlint-${{ runner.os }}-v1.6.26

- name: Install system dependencies (if not cached)
if: steps.sys-cache.outputs.cache-hit != 'true'
run: |
sudo apt-get update
sudo apt-get update -qq
sudo apt-get install -y jq yamllint gh curl

- name: Install actionlint
- name: Install actionlint (if not cached)
if: steps.sys-cache.outputs.cache-hit != 'true'
run: |
curl -sSfL https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash -o /tmp/actionlint.sh
sudo bash /tmp/actionlint.sh latest /usr/local/bin

- name: Verify tools
run: |
actionlint --version && echo "ACTIONLINT=OK"
yamllint --version && echo "YAMLLINT=OK"
Comment on lines +28 to +50
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0 Badge Ensure lint workflow installs apt packages even when cache hits

The caching step only saves /usr/local/bin/actionlint but the subsequent install step is skipped whenever the cache is hit. GitHub runners start clean each job, so jq, yamllint, gh, and curl are never installed on cached runs; the next step immediately runs yamllint --version and will fail. The install of apt dependencies should run regardless of whether actionlint is fetched from cache, or the cache should include the installed binaries.

Useful? React with 👍 / 👎.


- name: Run lint script
if: ${{ hashFiles('scripts/lint.sh') != '' }}
Expand Down
31 changes: 29 additions & 2 deletions .github/workflows/smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,23 @@ name: smoke
on:
workflow_dispatch:
pull_request:
paths:
- '.github/workflows/**'
- 'scripts/**'
- 'docs/**'
- '**.md'
- '**.yml'
- '**.yaml'
push:
branches:
- main
paths:
- '.github/workflows/**'
- 'scripts/**'
- 'docs/**'
- '**.md'
- '**.yml'
- '**.yaml'
schedule:
# Daily at 12:00 UTC (05:00 PT)
- cron: '0 12 * * *'
Expand All @@ -25,12 +39,25 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Install validation tooling
- name: Cache validation tools
uses: actions/cache@v4
id: tools-cache
with:
path: |
/usr/local/bin/actionlint
~/.cache/apt
key: validation-tools-${{ runner.os }}-v1.6.26

- name: Install validation tooling (if not cached)
if: steps.tools-cache.outputs.cache-hit != 'true'
run: |
sudo apt-get update
sudo apt-get update -qq
sudo apt-get install -y jq yamllint gh curl
curl -sSfL https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash -o /tmp/actionlint.sh
sudo bash /tmp/actionlint.sh latest /usr/local/bin

- name: Verify cached tools
run: |
actionlint --version
echo "ACTIONLINT=OK"

Comment on lines +42 to 63
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0 Badge Restore dependency installation in smoke workflow when cache is warm

The smoke workflow now caches /usr/local/bin/actionlint and ~/.cache/apt and skips the apt‑get install block whenever the cache hits. However, restoring those paths does not install jq, yamllint, gh, or curl on the fresh runner, so later steps (e.g. scripts/validate.sh) will run without required tools after the first cache warm-up. Similar to the lint job, the apt install should still execute on cached runs or the cache must store the installed binaries themselves.

Useful? React with 👍 / 👎.

Expand Down
Binary file added .markdownlint.jsonc
Binary file not shown.
54 changes: 0 additions & 54 deletions docs/folder_structure.md

This file was deleted.

25 changes: 24 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,47 @@
# docs/INDEX.md

# TogetherOS — Docs Index (Canon)

This page lists the **canonical docs**. If you rename or add a doc, update this index in the same PR.

---

## Canon (start here)

- [OPERATIONS.md](./OPERATIONS.md) — contributor playbook (tiny, verifiable steps)
- [Manifesto.md](./Manifesto.md) — vision and purpose
- [TogetherOS_CATEGORIES_AND_KEYWORDS.md](./TogetherOS_CATEGORIES_AND_KEYWORDS.md) — 8 Paths & keywords
- [CI/Actions_Playbook.md](./CI/Actions_Playbook.md) — CI checks, logs, common fixes
- [OPS/MAINTAINERS_DEPLOY.md](./OPS/MAINTAINERS_DEPLOY.md) — internal deploy notes (names of secrets only)

## Status & Planning

- Public status explainer: [STATUS_v2.md](./STATUS_v2.md)
- Tracker file (append-only log): [STATUS/What_we_finished_What_is_left_v2.txt](../STATUS/What_we_finished_What_is_left_v2.txt)
- Tech roadmap: [roadmap/TECH_ROADMAP.md](./roadmap/TECH_ROADMAP.md)

## Knowledge Base (Detailed Specs)

For comprehensive implementation guides, architecture patterns, and module specifications, see:

- [Main Knowledge Base](../.claude/knowledge/togetheros-kb.md) — Core identity, workflow, and principles
- [Tech Stack](../.claude/knowledge/tech-stack.md) — Framework versions, dependencies, tooling
- [Architecture Patterns](../.claude/knowledge/architecture.md) — Data models, API contracts, monorepo structure
- [Bridge Module](../.claude/knowledge/bridge-module.md) — Complete AI assistant specification
- [Governance Module](../.claude/knowledge/governance-module.md) — Proposals & decisions implementation
- [Social Economy](../.claude/knowledge/social-economy.md) — Support Points, timebanking, Social Horizon currency
- [Cooperation Paths](../.claude/knowledge/cooperation-paths.md) — Full taxonomy with subcategories
- [CI/CD Discipline](../.claude/knowledge/ci-cd-discipline.md) — Proof lines, validation workflows
- [Data Models](../.claude/knowledge/data-models.md) — Core entities and relationships

## Contributor Hubs

- Discussions landing: https://github.com/coopeverything/TogetherOS/discussions/88
- Repository README: [../README.md](../README.md)
- Modules Hub: [modules/INDEX.md](./modules/INDEX.md)

## 8 Paths (quick reference)

- Collaborative Education
- Social Economy
- Common Wellbeing
Expand All @@ -35,18 +55,21 @@ This page lists the **canonical docs**. If you rename or add a doc, update this
> [TogetherOS_CATEGORIES_AND_KEYWORDS.md](./TogetherOS_CATEGORIES_AND_KEYWORDS.md).

## OPS Docs (short & practical)

- OPS ground rules: [OPS/TogetherOS_OPS_Project_Knowledge.md](./OPS/TogetherOS_OPS_Project_Knowledge.md)
- CI specifics: [CI/Actions_Playbook.md](./CI/Actions_Playbook.md)


## How to propose a docs change

1. One smallest change per PR.
2. Update this index if the change adds/renames/removes a doc.
3. Include proof lines in the PR body:

```
LINT=OK
VALIDATORS=GREEN
SMOKE=OK
```

4. If docs-only, ensure `ci/docs` passes (markdown + links).

Expand Down
25 changes: 22 additions & 3 deletions docs/modules/INDEX.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,48 @@
# TogetherOS — Modules Hub

This hub lists all platform modules with links to specs, active increments, and current progress.

> Update this index whenever a module page is added or renamed.

Each module keeps tiny public metrics or proof-lines (e.g., dashboards or `LINT=OK`, `VALIDATORS=GREEN`, `SMOKE=OK`) so progress stays visible across the repo.

## Core Modules

- [Monorepo & Scaffolding](./scaffold.md)
- [UI System](./ui.md)
- [Identity & Auth](./auth.md)
- [Profiles](./profiles.md)
- [Groups & Orgs](./groups.md)
- [Forum / Deliberation](./forum.md)
- [Proposals & Decisions (Governance)](./governance.md)
- [Proposals & Decisions (Governance)](../../.claude/knowledge/governance-module.md)
- [Social Economy Primitives](./social-economy.md)
- [Support Points & Reputation](./reputation.md)
- [Onboarding](./onboarding.md)
- [Bridge — Internal pilot (core team only)](./bridge/landing-pilot.md)
- [Full Bridge Specification](../../.claude/knowledge/bridge-module.md)
- [Search & Tags](./search.md)
- [Notifications & Inbox](./notifications.md)
- [Docs Site Hooks](./docs-hooks.md)
- [Observability](./observability.md)
- [Security & Privacy](./security.md)

## Knowledge Base (Comprehensive Specs)

For detailed implementation guides and architecture patterns, see:

- [Main Knowledge Base](../../.claude/knowledge/togetheros-kb.md) — Core identity and workflow
- [Tech Stack](../../.claude/knowledge/tech-stack.md) — Framework versions, dependencies, tooling
- [Architecture Patterns](../../.claude/knowledge/architecture.md) — Data models, API contracts, monorepo structure
- [Bridge Module](../../.claude/knowledge/bridge-module.md) — Complete AI assistant specification
- [Governance Module](../../.claude/knowledge/governance-module.md) — Proposals & decisions implementation
- [Social Economy](../../.claude/knowledge/social-economy.md) — Support Points, timebanking, Social Horizon currency
- [Cooperation Paths](../../.claude/knowledge/cooperation-paths.md) — Full taxonomy with subcategories
- [CI/CD Discipline](../../.claude/knowledge/ci-cd-discipline.md) — Proof lines, validation workflows
- [Data Models](../../.claude/knowledge/data-models.md) — Core entities and relationships

## How we build
- **Branches:** `feature/-` from `main` (one tiny change per PR).

- **Branches:** `feature/<topic>` from `main` (one tiny change per PR).
- **Issues:** use the **Increment** template; label `module:`, `type:increment`, and `size:S|M|L`.
- **Status:** authoritative overview lives in [../STATUS_v2.md](../STATUS_v2.md); each module page shows its own `Progress: X%`.
- **Definition of Done (DoD):** code merged docs updated (this hub or module page) proofs in PR body: `LINT=OK` `VALIDATORS=GREEN` `SMOKE=OK`.
- **Definition of Done (DoD):** code merged + docs updated (this hub or module page) + proofs in PR body: `LINT=OK` `VALIDATORS=GREEN` `SMOKE=OK`.
Loading
Loading