Skip to content

Commit b976de9

Browse files
DavidsonGomesclaude
andcommitted
release: v0.6.1 — dashboard redesign, core routines docs, cleanup
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent cad7647 commit b976de9

45 files changed

Lines changed: 2514 additions & 1109 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/rules/integrations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,4 @@
4747
## HTML Templates
4848

4949
All in `.claude/templates/html/`, Evolution dark theme (green `#00FFA7`, Inter font).
50-
17 templates available — see `ROTINAS.md` for full template-to-routine mapping.
50+
17 templates available — see `ROUTINES.md` for full template-to-routine mapping.

.claude/rules/routines.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Automated Routines
22

3-
Managed by the scheduler (`make scheduler`) — see `ROTINAS.md` for full details.
3+
Managed by the scheduler (`make scheduler`) — see `ROUTINES.md` for full details.
44

55
## Daily
66

@@ -32,6 +32,7 @@ Managed by the scheduler (`make scheduler`) — see `ROTINAS.md` for full detail
3232
| Mon/Wed/Fri 09:00 | Linear Review | `make linear` | @atlas |
3333
| Mon/Wed/Fri 09:15 | GitHub Review | `make github` | @atlas |
3434
| Monday 09:30 | Community Weekly | `make community-week` | @pulse |
35+
| Sunday 09:00 | Memory Lint | `make memory-lint` | @clawdia |
3536
| Sunday 10:00 | Health Check-in | `make health` | @kai |
3637

3738
## Monthly (Day 1)

.claude/skills/prod-memory-management/SKILL.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,13 @@ Without memory, that request is meaningless. With memory, Claude knows:
2929
```
3030
CLAUDE.md ← Hot cache (~30 people, common terms)
3131
memory/
32+
index.md ← Catálogo centralizado por categoria (auto-updated)
33+
log.md ← Registro cronológico de operações (append-only)
3234
glossary.md ← Full decoder ring (everything)
3335
people/ ← Complete profiles
3436
projects/ ← Project details
3537
context/ ← Company, teams, tools
38+
trends/ ← Weekly metric snapshots (JSON)
3639
```
3740

3841
**CLAUDE.md (Hot Cache):**
@@ -320,4 +323,28 @@ Use `/productivity:start` to initialize by scanning your chat, calendar, email,
320323
- Person no longer frequent contact
321324
- Term rarely used
322325

323-
This keeps CLAUDE.md fresh and relevant.
326+
This keeps CLAUDE.md fresh and relevant.
327+
328+
## Operations (LLM Wiki Pattern)
329+
330+
Three core operations maintain the knowledge base:
331+
332+
### Ingest (via memory-sync, daily 21:15)
333+
When new information arrives, it's not just saved — it's **propagated**:
334+
- New info about a person → update their people/ file AND any projects/ that mention them
335+
- New project detail → update glossary.md codename entry + CLAUDE.md if active
336+
- Role change → update people/, glossary.md, and CLAUDE.md hot cache
337+
- After any change → update index.md catalog + append to log.md
338+
339+
### Query (during conversations)
340+
When synthesizing a complex answer, the valuable result can be filed back as a new memory entry — knowledge compounds through use, not just accumulation.
341+
342+
### Lint (via memory-lint, weekly Sunday 09:00)
343+
Periodic health check that detects:
344+
- **Contradictions** — mismatches between CLAUDE.md hot cache and memory/ deep storage
345+
- **Stale claims** — dates older than 60 days, closed Linear issues still listed as open
346+
- **Orphan files** — files in memory/ not listed in index.md
347+
- **Coverage gaps** — active projects/people in CLAUDE.md without memory/ files
348+
- **Missing cross-references** — people in projects without people/ files, and vice versa
349+
350+
Fixes what it can automatically, flags the rest for manual review.

ADWs/routines/memory_lint.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/usr/bin/env python3
2+
"""ADW: Memory Lint — Weekly health check on memory/ base via Clawdia"""
3+
4+
import sys, os
5+
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
6+
from runner import run_claude, banner, summary
7+
8+
PROMPT = """Run a memory lint (health check) on the memory/ directory:
9+
10+
1. Read memory/index.md to get the full catalog
11+
2. For each file listed in the index, verify it still exists and is not empty
12+
3. Detect orphan files — files in memory/ that exist but are NOT listed in the index
13+
4. Cross-reference check:
14+
- People mentioned in projects/ should have a file in people/
15+
- Projects mentioned in people/ should have a file in projects/
16+
- Terms in glossary.md that reference people/projects should point to valid entries
17+
5. Stale data check:
18+
- Read memory/projects/*.md — check if Linear issues listed are still open (use Linear MCP if available, otherwise flag for manual review)
19+
- Check if people roles/companies are still current based on recent daily logs
20+
- Flag any claim that includes a date older than 60 days as potentially stale
21+
6. Contradiction check:
22+
- Compare CLAUDE.md hot cache with memory/glossary.md — flag mismatches
23+
- Compare people info in CLAUDE.md vs memory/people/*.md — flag divergences
24+
7. Coverage gaps:
25+
- Check if active projects in CLAUDE.md all have a memory/projects/ file
26+
- Check if people in CLAUDE.md all have a memory/people/ file
27+
8. Fix what you can automatically:
28+
- Update memory/index.md with any orphan files found
29+
- Fix obvious contradictions (prefer the more recent source)
30+
- Add missing cross-references
31+
9. Append findings summary to memory/log.md with format: [DATE] LINT — summary
32+
10. Report: issues found, fixed automatically, and items needing manual review.
33+
34+
Be concise. Only flag real problems, not hypothetical ones."""
35+
36+
def main():
37+
banner("🔍 Memory Lint", "Health check • Contradictions • Gaps • Stale data | @clawdia")
38+
results = []
39+
results.append(run_claude(PROMPT, log_name="memory-lint", timeout=600, agent="clawdia-assistant"))
40+
summary(results, "Memory Lint")
41+
42+
if __name__ == "__main__":
43+
try:
44+
main()
45+
except KeyboardInterrupt:
46+
print("\n⚠ Cancelado.")

ADWs/routines/memory_sync.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,15 @@
1717
- New terms or external references → save as type 'reference'
1818
- Skills or routines created/changed → update references if relevant
1919
5. Before saving, check if similar memory already exists — update instead of duplicating
20-
6. Update MEMORY.md with pointers to new files
20+
6. **Ingest propagation** — when saving/updating a memory, check which OTHER memories reference the same entity and update them too. Examples:
21+
- New info about a person → update their people/ file AND any projects/ that mention them
22+
- New project detail → update glossary.md if it has a codename entry
23+
- Role change → update people/ file, glossary.md nicknames table, and CLAUDE.md hot cache
24+
7. Update MEMORY.md with pointers to new files
25+
8. Update memory/index.md — ensure all files in memory/ are cataloged by category
26+
9. Append operations to memory/log.md with format: [DATE] SYNC — summary of changes
2127
22-
Report at the end: how many memories created/updated by type.
28+
Report at the end: how many memories created/updated by type, and how many cross-references propagated.
2329
Be concise — don't create memories for obvious things or things already documented in code."""
2430

2531
def main():

CHANGELOG.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.6.1] - 2026-04-09
9+
10+
### Added
11+
- **Core routines documentation** (`docs/routines/core-routines.md`) — detailed explanation of all 5 core routines: what they do, why they matter, and how they form the daily loop
12+
- **Memory Lint promoted to core** — moved from `ADWs/routines/custom/` to `ADWs/routines/`, hardcoded in `scheduler.py` (Sunday 09:00). Now 5 core routines instead of 4
13+
- **Release skill** now syncs screenshots (`public/print-*.png``site/public/assets/`) on every release
14+
15+
### Changed
16+
- **Dashboard pages redesigned** — 12 pages (Audit, Config, Costs, Files, Integrations, Memory, Reports, Roles, Routines, Scheduler, Skills, Systems, Templates, Users) with consistent dark theme and improved UX
17+
- **Integration count** — 19 → 17 (removed internal-only Licensing and WhatsApp docs from public documentation)
18+
- **Memory system** — LLM Wiki pattern: ingest propagation, weekly lint, centralized index, and operation log
19+
20+
### Removed
21+
- **`docs/integrations/licensing.md`** — internal only, not public
22+
- **`docs/integrations/whatsapp.md`** — internal only, not public
23+
24+
### Fixed
25+
- **Dashboard build** — removed unused `totalTokens` variable in Costs page that blocked TypeScript compilation
26+
827
## [0.6.0] - 2026-04-09
928

1029
### Added
@@ -16,7 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1635
- **`.env.example`** — added `EVOLUTION_API_URL/KEY`, `EVOLUTION_GO_URL/KEY`, `EVO_CRM_URL/TOKEN`
1736

1837
### Changed
19-
- **Integration count** — 16 → 19 across README, site, and docs
38+
- **Integration count** — 16 → 17 across README, site, and docs (removed internal-only Licensing and WhatsApp docs)
2039
- **Community members** — 7,000+ → 17,000+ on site
2140
- **v0.4 roadmap complete** — all 13 items done, Evolution product skills was the last one
2241

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ review: ## 📋 Organize tasks in Todoist (@clawdia)
4242
memory: ## 🧠 Consolidate memory (@clawdia)
4343
$(PYTHON) $(ADW_DIR)/memory_sync.py
4444

45+
memory-lint: ## 🔍 Memory health check — contradictions, gaps, stale data (@clawdia)
46+
$(PYTHON) $(ADW_DIR)/memory_lint.py
47+
4548
eod: ## 🌙 End of day consolidation — memory, logs, learnings (@clawdia)
4649
$(PYTHON) $(ADW_DIR)/end_of_day.py
4750

@@ -192,5 +195,5 @@ docker-build: ## 🐳 Build the image
192195
help: ## 📖 Show this help
193196
@grep -E '^[a-zA-Z_-]+:.*##' Makefile | sort | awk 'BEGIN {FS = ":.*## "}; {printf " \033[36m%-16s\033[0m %s\n", $$1, $$2}'
194197

195-
.PHONY: morning sync triage review memory eod dashboard youtube instagram linkedin social fin-pulse licensing weekly health trends linear community community-week community-month github faq strategy fin-weekly licensing-weekly fin-close licensing-month daily scheduler social-auth telegram telegram-stop telegram-attach logs logs-detail logs-tail metrics clean-logs docker-dashboard docker-telegram docker-down docker-logs docker-run docker-build help
198+
.PHONY: morning sync triage review memory memory-lint eod dashboard youtube instagram linkedin social fin-pulse licensing weekly health trends linear community community-week community-month github faq strategy fin-weekly licensing-weekly fin-close licensing-month daily scheduler social-auth telegram telegram-stop telegram-attach logs logs-detail logs-tail metrics clean-logs docker-dashboard docker-telegram docker-down docker-logs docker-run docker-build help
196199
.DEFAULT_GOAL := help

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ It turns a single Claude Code installation into a team of 9 specialized agents
4848
- **~67 Skills** — organized by domain prefix (`social-`, `fin-`, `int-`, `prod-`, `mkt-`, `gog-`, `obs-`, `discord-`, `pulse-`, `sage-`)
4949
- **7 Core + 20 Custom Routines** — daily, weekly, and monthly ADWs managed by a scheduler (core routines ship with the repo; custom routines are user-created and gitignored)
5050
- **Web Dashboard** — React + Flask app with auth, roles, web terminal, service management
51-
- **19 Integrations** — Google Calendar, Gmail, Linear, GitHub, Discord, Telegram, Stripe, Omie, Fathom, Todoist, YouTube, Instagram, LinkedIn, Evolution API, Evolution Go, Evo CRM, and more
51+
- **17 Integrations** — Google Calendar, Gmail, Linear, GitHub, Discord, Telegram, Stripe, Omie, Fathom, Todoist, YouTube, Instagram, LinkedIn, Evolution API, Evolution Go, Evo CRM, and more
5252
- **2 core + custom HTML report templates** — dark-themed dashboards for every domain
53-
- **Persistent Memory** — two-tier system (CLAUDE.md + memory/) across sessions
53+
- **Persistent Memory** — two-tier system (CLAUDE.md + memory/) with LLM Wiki pattern: ingest propagation, weekly lint, centralized index, and operation log
5454
- **Knowledge Base** — optional semantic search via [MemPalace](https://github.com/milla-jovovich/mempalace) (local ChromaDB vectors, one-click install)
5555
- **Full Observability** — JSONL logs, execution metrics, cost tracking per routine
5656

@@ -305,6 +305,7 @@ make triage # Run email triage
305305
make community # Run community pulse
306306
make fin-pulse # Run financial pulse
307307
make eod # Run end-of-day consolidation
308+
make memory-lint # Run memory health check (contradictions, stale data, gaps)
308309
make weekly # Run weekly review
309310

310311
# Observability

ROUTINES.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,20 @@ Routines are automated workflows that run on a schedule via the ADW Runner.
1818
| Memory Sync | `memory_sync.py` | @clawdia | Daily 21:15 |
1919
| Weekly Review | `weekly_review.py` | @clawdia | Friday 08:00 |
2020

21+
> **Memory Sync** follows the LLM Wiki pattern: extracts knowledge from daily logs, meetings, and git changes, then **propagates updates** across related memory files (e.g., a role change updates people/, glossary.md, and CLAUDE.md). Updates `memory/index.md` (catalog) and `memory/log.md` (operation log) after each run.
22+
2123
## Custom Routines
2224

2325
Custom routines live in `ADWs/routines/custom/` (gitignored) and are scheduled via `config/routines.yaml` (also gitignored).
2426

2527
To create a custom routine, say **"create a routine"** and the `create-routine` skill will guide you.
2628

29+
Notable custom routines shipped as examples:
30+
31+
| Routine | Script | Agent | Schedule | Description |
32+
|---------|--------|-------|----------|-------------|
33+
| Memory Lint | `memory_lint.py` | @clawdia | Sunday 09:00 | Health check — detects contradictions, stale data, orphan files, coverage gaps, missing cross-references |
34+
2735
### config/routines.yaml
2836

2937
```yaml
@@ -63,6 +71,7 @@ monthly:
6371
make morning # Good Morning
6472
make eod # End of Day
6573
make memory # Memory Sync
74+
make memory-lint # Memory Lint (health check)
6675
make weekly # Weekly Review
6776
make help # All commands
6877
```

cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@evoapi/open-claude",
3-
"version": "0.6.0",
3+
"version": "0.6.1",
44
"description": "Unofficial open source toolkit for Claude Code — AI-powered business operating system",
55
"keywords": [
66
"claude-code",

0 commit comments

Comments
 (0)