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
25 changes: 1 addition & 24 deletions .codespellignore
Original file line number Diff line number Diff line change
@@ -1,24 +1 @@
Auctor
Astris
MoU
MoUs
kWh
k-anonymity
de-id
Civic
Tome
RME
DOE
HUD
NIH
CDC
DOJ
OMB
GAO
CBO
POC
SKU
IRB
CPD
HRV
PSL
# Add words you intentionally keep
18 changes: 18 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Audit

on:
pull_request:
branches: [ dev, main ]

jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Run audit
run: |
python scripts/audit_completeness.py
10 changes: 10 additions & 0 deletions MANIFEST.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"required_files": [
"docs/doctrine/manifesto.md",
"docs/frameworks/constella_1.6.md",
"docs/frameworks/constella_project_tree.md",
"docs/research/celestial_ecology.md",
"docs/research/cymatic_faith_links.md",
"docs/archive/README.md"
]
}
8 changes: 5 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ check: spell lint
spell:
@echo ">> codespell (skip if not installed)"; \
if command -v codespell >/dev/null; then \
codespell --ignore-words .codespellignore . || exit 1; \
find . -type f \( -name "*.md" -o -name "*.txt" -o -name "*.rst" \) \
-not -path "./docs/constella/_inbox/*" \
-print0 | xargs -0 codespell --check-filenames --ignore-words .codespellignore || exit 1; \
else echo "codespell not installed, skipping"; fi

lint:
@echo ">> markdownlint (skip if not installed)"; \
if command -v markdownlint >/dev/null; then \
markdownlint "**/*.md" -c .markdownlint.json || exit 1; \
else echo "markdownlint not installed, skipping"; fi
markdownlint "**/*.md" -c .markdownlint.json || exit 1; \
else echo "markdownlint not installed, skipping"; fi
3 changes: 3 additions & 0 deletions docs/archive/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Archive

Drop exported chat transcripts here (Markdown or text). Use `scripts/sync_chat_archive.py` to index.
5 changes: 5 additions & 0 deletions docs/doctrine/manifesto.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Constella 1.6 Manifesto: Doctrine of Resonance Origin

<Place the manifesto text here>

See: `../img/resonance_origin_diagram.png`
10 changes: 10 additions & 0 deletions docs/frameworks/constella_1.6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Constella 1.6 Framework

- Cosmic Resonance
- Gaia Resonance
- Faith (traditional)
- FAITHH AI (tools)
- Technology/Tools

## Project Tree
(Insert project tree diagram / bullets)
7 changes: 7 additions & 0 deletions docs/frameworks/constella_project_tree.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Project Tree

- Cosmic Resonance
- Gaia Resonance
- Faith Layer
- FAITHH AI / Tools
- Tech & Ops
5 changes: 5 additions & 0 deletions docs/research/celestial_ecology.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Celestial Ecology

- Moon as stabilizer
- Star resonance and biological rhythms
- Feedback loops (Gaia circuit)
4 changes: 4 additions & 0 deletions docs/research/cymatic_faith_links.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Cymatic Fingerprint of Faiths

- Origin regions → sky patterns → principles
- Constellation archetypes mapped to religious motifs
25 changes: 25 additions & 0 deletions rfcs/000-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# RFC: <Title>

- Status: Draft
- Authors: <name>
- Reviewers: <names>
- Created: <YYYY-MM-DD>
- Target Release: 1.6 / 2.0

## Summary
<Short summary>

## Motivation
<Why>

## Proposal
<What is being changed / added>

## Alternatives
<Considered options>

## Risks
<Concerns, mitigations>

## Decision Record
<Fill after review>
21 changes: 21 additions & 0 deletions scripts/audit_completeness.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env python3

import json, pathlib, sys

ROOT = pathlib.Path(__file__).resolve().parents[1]

def main():
manifest = json.loads((ROOT / "MANIFEST.json").read_text(encoding="utf-8"))
missing = []
for req in manifest.get("required_files", []):
if not (ROOT / req).exists():
missing.append(req)
if missing:
print("[WARN] Missing required files:")
for m in missing:
print(" -", m)
sys.exit(1)
print("[OK] All required files present.")

if __name__ == "__main__":
main()
29 changes: 29 additions & 0 deletions scripts/sync_chat_archive.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env python3

import os, sys, pathlib, re

ARCHIVE_DIR = pathlib.Path(__file__).resolve().parents[1] / "docs" / "archive"
INDEX = ARCHIVE_DIR / "index.md"

def main():
ARCHIVE_DIR.mkdir(parents=True, exist_ok=True)
files = sorted([p for p in ARCHIVE_DIR.glob("**/*") if p.is_file() and p.suffix.lower() in (".md",".txt") and p.name != "index.md"])
lines = ["# Archive Index\\n"]
for p in files:
rel = p.relative_to(ARCHIVE_DIR)
# extract top-level header if present
title = None
try:
for line in p.read_text(encoding="utf-8", errors="ignore").splitlines():
if line.strip().startswith("# "):
title = line.strip().lstrip("# ").strip()
break
except Exception:
pass
display = title or rel.as_posix()
lines.append(f"- [{display}]({rel.as_posix()})")
INDEX.write_text("\\n".join(lines), encoding="utf-8")
print(f"[OK] Indexed {len(files)} items to {INDEX}")

if __name__ == "__main__":
main()
Loading