Merge branch 'release/1.0.0' into main
This commit is contained in:
commit
66346f5f4e
5 changed files with 987 additions and 161 deletions
2
Makefile
2
Makefile
|
|
@ -1,5 +1,5 @@
|
|||
# =============================================================================
|
||||
# Knowledge Genome - Makefile v. 0.3.0
|
||||
# Knowledge Genome - Makefile v. 1.0.0
|
||||
# Orchestrates the setup and management of the knowledge base.
|
||||
# =============================================================================
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ Session end or return to `disabled`: remind operator to run `git-crypt lock` on
|
|||
5. Never commit to `main`. Branch per task; PR required; no self-merge.
|
||||
6. Contradict, don't overwrite. New evidence contradicts existing claim → §Conflict.
|
||||
7. Never commit plaintext to any path marked for encryption in `.gitattributes`.
|
||||
8. Every PR must use `templates/pr-description.md`. Do not omit the tabular summary.
|
||||
|
||||
### NEVER
|
||||
- Load `wiki/log.md` in full — read only the tail injected by the orchestrator.
|
||||
|
|
@ -58,10 +59,11 @@ Session end or return to `disabled`: remind operator to run `git-crypt lock` on
|
|||
|
||||
Execute in this order before any file operation:
|
||||
|
||||
1. Read `wiki/index.md` — full catalog of all pages and their maturity.
|
||||
2. Read the last 20 log entries injected by orchestrator — do not open `wiki/log.md` directly.
|
||||
3. For any task involving related pages: `qmd search "<query>"` before opening files.
|
||||
4. Operate on individual target files. Never scan entire directories.
|
||||
1. **One source per session.** If multiple sources are queued in `raw/`, process only the first. Commit, close session. The orchestrator starts a new session for the next source.
|
||||
2. Read `wiki/index.md` — full catalog of all pages and their maturity.
|
||||
3. Read the last 20 log entries injected by orchestrator — do not open `wiki/log.md` directly.
|
||||
4. For any task involving related pages: `qmd search "<query>"` before opening files.
|
||||
5. Operate on individual target files. Never scan entire directories.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -77,7 +79,8 @@ Execute in this order before any file operation:
|
|||
5. Check each touched page for contradictions → apply §Conflict if found.
|
||||
6. Append entry to `wiki/index.md` (bottom of relevant section).
|
||||
7. Append log entry: `INGEST | <slug>`.
|
||||
8. Commit on `feat/ai-ingest-<slug>`. Open PR.
|
||||
8. Run scoped lint on pages created or modified in this session. Report issues in PR description. Do not auto-fix.
|
||||
9. Commit on `feat/ai-ingest-<slug>`. Open PR using `templates/pr-description.md`.
|
||||
|
||||
*Private source* (`PRIVATE_CONTEXT: enabled` required):
|
||||
- All output → `wiki/private/<slug>.md` only.
|
||||
|
|
@ -87,24 +90,28 @@ Execute in this order before any file operation:
|
|||
*Triggered by operator question.*
|
||||
|
||||
1. `qmd search "<query>"` → identify candidate pages.
|
||||
2. Read relevant pages via `wiki/index.md` catalog.
|
||||
2. Read candidate pages directly.
|
||||
3. Synthesize answer with `[[wikilink]]` citations.
|
||||
4. If answer is non-trivial: save as `wiki/queries/<slug>.md`.
|
||||
5. Append entry to `wiki/index.md` under Queries.
|
||||
6. Append log entry: `QUERY | <subject>`.
|
||||
|
||||
*For general orientation without a specific query: read `wiki/index.md` directly.*
|
||||
|
||||
### Lint
|
||||
*Triggered by operator or schedule.*
|
||||
*Triggered by operator with bash pre-scan output.*
|
||||
|
||||
Find and report — do not auto-fix without operator approval:
|
||||
Pre-requisite: operator runs `bash scripts/lint-genomes.sh` and provides output to this session.
|
||||
The script handles deterministically: broken links, knowledge decay, page size, frontmatter validation.
|
||||
|
||||
1. Orphan pages — no inbound `[[wikilink]]`.
|
||||
2. Duplicate concepts — two pages covering same topic → propose merge.
|
||||
3. Implicit concepts — term in 3+ pages with no dedicated page.
|
||||
4. `maturity: draft` with 2+ sources → propose promote to `stable`.
|
||||
5. Broken internal links.
|
||||
6. Knowledge decay violations (§Decay).
|
||||
Agent tasks — apply semantic judgment to bash findings + independent semantic checks:
|
||||
|
||||
1. **Orphan pages** (list from bash): for each orphan, identify 1-3 existing pages that should link to it. Propose specific link additions.
|
||||
2. **Implicit concepts** (term list from bash): for each candidate term, determine if a dedicated page is warranted. If yes, draft stub.
|
||||
3. **Duplicate concepts**: `qmd search "<concept>"` for suspected duplicates → propose merge if confirmed.
|
||||
4. **`maturity: draft`** pages with 2+ sources cited → propose promote to `stable`.
|
||||
|
||||
Report all findings as structured list. Do not modify files without operator approval.
|
||||
Append log entry: `LINT | <summary of findings>`.
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -86,48 +86,3 @@ Genome-level operations are governed by the genome's `AGENTS.md`, not this file.
|
|||
- Concepts in genome-X that should link to genome-Y but don't.
|
||||
3. Report findings. Do not modify any files.
|
||||
4. For each finding: create a conflict note in the genome where resolution belongs, following that genome's §Conflict procedure.
|
||||
|
||||
---
|
||||
|
||||
## Reference Operations
|
||||
|
||||
### Add a genome
|
||||
```bash
|
||||
make add-genome NAME=genome-newname DESC="Domain description"
|
||||
```
|
||||
Then update the architecture diagram in this file.
|
||||
|
||||
### Sync submodules
|
||||
```bash
|
||||
make sync
|
||||
```
|
||||
|
||||
### Update core-karpathy reference
|
||||
```bash
|
||||
git submodule update --remote core-karpathy
|
||||
git add core-karpathy
|
||||
git commit -m "chore: update core-karpathy to latest gist"
|
||||
git push
|
||||
```
|
||||
|
||||
### Clone (full)
|
||||
```bash
|
||||
git clone --recurse-submodules \
|
||||
{{FORGEJO_URL}}/{{FORGEJO_USER}}/{{MASTER_REPO}}.git
|
||||
```
|
||||
After cloning, unlock each genome on the host before starting an agent session.
|
||||
|
||||
### Key rotation (emergency)
|
||||
If a key is compromised: `gcrypt_rotate_key "<genome>"` from project root.
|
||||
Update the Vaultwarden Secure Note with the new base64-encoded key.
|
||||
Revoke access from previous key holders.
|
||||
|
||||
### Key registry
|
||||
|
||||
| Genome | Vaultwarden Secure Note | Temp key file |
|
||||
|--------|------------------------|---------------|
|
||||
| genome-dev | `genome-dev key` | `keys/genome-dev.key` |
|
||||
| genome-finance | `genome-finance key` | `keys/genome-finance.key` |
|
||||
| genome-homelab | `genome-homelab key` | `keys/genome-homelab.key` |
|
||||
|
||||
Temp key files in `keys/` are post-export only. Delete after upload to Vaultwarden.
|
||||
|
|
|
|||
26
templates/pr-description.md
Normal file
26
templates/pr-description.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
## Summary
|
||||
<!-- One sentence: goal of this session and source processed. -->
|
||||
|
||||
## Pages Created
|
||||
| Path | Type | Maturity |
|
||||
|------|------|----------|
|
||||
| `[[folder/slug]]` | entity / concept / source / query | draft |
|
||||
|
||||
## Pages Modified
|
||||
| Path | Change |
|
||||
|------|--------|
|
||||
| `[[folder/slug]]` | Added cross-reference to `[[other/page]]` |
|
||||
|
||||
## Contradictions Found
|
||||
- [ ] None
|
||||
- [ ] `n` conflict file(s) created — listed below
|
||||
|
||||
## Private Data Accessed
|
||||
- [ ] No — `PRIVATE_CONTEXT: disabled`
|
||||
- [ ] Yes — `PRIVATE_CONTEXT: enabled` · outputs in `wiki/private/` only
|
||||
|
||||
## Scoped Lint (post-ingest)
|
||||
- [ ] Frontmatter valid on all touched pages
|
||||
- [ ] No broken wikilinks on touched pages
|
||||
- [ ] No issues found
|
||||
- [ ] Issues found (list):
|
||||
Loading…
Add table
Reference in a new issue