Commit Graph

42 Commits

Author SHA1 Message Date
Alexander Whitestone
10096977bd Merge remote-tracking branch 'origin/fix/8-harvester' 2026-04-15 22:12:31 -04:00
Alexander Whitestone
08c4237dca Merge remote-tracking branch 'origin/fix/11-bootstrapper' 2026-04-15 22:12:28 -04:00
Alexander Whitestone
661f2730f2 Merge remote-tracking branch 'origin/fix/10-knowledge-format' 2026-04-15 22:12:21 -04:00
Alexander Whitestone
80cc656fc1 Merge remote-tracking branch 'origin/feat/session-metadata' 2026-04-15 22:12:17 -04:00
Alexander Whitestone
d0a422deef Merge remote-tracking branch 'origin/burn/17-session-sampler' 2026-04-15 22:12:04 -04:00
Alexander Whitestone
4210a4ea9d Merge remote-tracking branch 'origin/feat/91-session-pair-harvester' 2026-04-15 22:11:45 -04:00
Alexander Whitestone
bac0e0336b Merge remote-tracking branch 'origin/feat/93-dependency-graph' 2026-04-15 22:11:41 -04:00
Alexander Whitestone
64b823c598 Merge remote-tracking branch 'origin/feat/94-dead-code-detector' 2026-04-15 22:11:35 -04:00
Alexander Whitestone
27459271ac Merge remote-tracking branch 'origin/feat/177-issue-parser' 2026-04-15 22:11:32 -04:00
Alexander Whitestone
45cd835bd2 Merge remote-tracking branch 'origin/feat/176-diff-analyzer' 2026-04-15 22:11:30 -04:00
Alexander Whitestone
5e8a201a26 Merge remote-tracking branch 'origin/burn/172-1776263893' 2026-04-15 22:11:26 -04:00
Alexander Whitestone
fa43d82f79 Merge remote-tracking branch 'origin/burn/168-1776263899' 2026-04-15 22:11:25 -04:00
Alexander Whitestone
c7b7b38510 Merge remote-tracking branch 'origin/burn/171-1776263896' 2026-04-15 22:11:23 -04:00
Alexander Whitestone
908fbbb26c Merge remote-tracking branch 'origin/burn/174-1776263883' 2026-04-15 22:11:21 -04:00
Alexander Whitestone
ea33c331f6 Merge remote-tracking branch 'origin/burn/169-1776263898' 2026-04-15 22:11:20 -04:00
93bc3fc18a fix: add directory exclusions for scan performance (#170) 2026-04-15 15:06:09 +00:00
Alexander Whitestone
9668034ad6 feat: Add refactoring opportunity finder (#169)
Cross-references complexity, churn, and coverage to identify refactoring targets.

Acceptance criteria met:
- Cross-references: complexity x churn x coverage
- Identifies: refactor targets with priority scoring
- Output: prioritized refactor list (JSON or human-readable)
- Designed for monthly execution via cron

Scoring formula:
- Complexity (40%): Higher cyclomatic complexity = higher priority
- Churn (30%): Frequently changed files = high value to refactor
- Size (20%): Larger files = more to refactor
- Coverage (10%): Low coverage = higher risk but more need

Usage:
  python3 scripts/refactoring_opportunity_finder.py --repo /path/to/repo
  python3 scripts/refactoring_opportunity_finder.py --repo /path/to/repo --json

Closes #169
2026-04-15 10:54:58 -04:00
49365c64d2 test: automation opportunity finder tests (#170) 2026-04-15 14:53:43 +00:00
Alexander Whitestone
341abab2a0 feat: Priority Rebalancer — re-score issues from pipeline data (#174)
Monthly pipeline tool that:
- Reads knowledge store, metrics, and staleness data
- Scores all open issues across the org
- Suggests priority upgrades/downgrades based on accumulated signals
- Generates JSON + markdown reports
- Optional --apply mode to push changes via Gitea API

Signals detected:
- Stale/missing knowledge entries
- Empty knowledge store
- Missing metrics output
- Low repo coverage
- Issue age, activity, assignment status
- Keyword/label analysis

Usage:
  python3 scripts/priority_rebalancer.py --org Timmy_Foundation
  python3 scripts/priority_rebalancer.py --org Timmy_Foundation --apply
  python3 scripts/priority_rebalancer.py --org Timmy_Foundation --json

23 tests, all passing.
2026-04-15 10:52:51 -04:00
e8359cf10a feat: automation opportunity finder (#170)
Analyzes cron jobs, docs, scripts, session transcripts, and shell history to find manual processes that could be automated.

Outputs ranked proposals with confidence scores and impact ratings.
2026-04-15 14:51:29 +00:00
f1175df79d test: add improvement proposal generator tests (#168) 2026-04-15 14:47:30 +00:00
be805a1b4c feat: add Performance Bottleneck Finder (#171)
Analyzes: slow tests, build artifacts, CI workflows, heavy imports.
Outputs: markdown report or JSON. Designed for weekly cron.

Closes #171
2026-04-15 14:47:27 +00:00
1d47665dd4 feat: add improvement proposal generator (#168) 2026-04-15 14:47:26 +00:00
71dd801575 feat: knowledge gap identifier — Pipeline 10.7 (#172) 2026-04-15 14:42:28 +00:00
81c02f6709 feat: Add staleness detector tests (closes #179) 2026-04-15 04:00:46 +00:00
c2c3c6a3b9 feat: Add knowledge staleness detector (closes #179) 2026-04-15 04:00:12 +00:00
d664119b9c feat: Add diff analyzer tests (closes #176) 2026-04-15 03:57:21 +00:00
764414d4d5 feat: Add diff analyzer (closes #176) 2026-04-15 03:56:27 +00:00
54f3bef7fc feat: Add parser tests (closes #177) 2026-04-15 03:50:04 +00:00
4fcd372de4 feat: Add Gitea issue body parser (closes #177) 2026-04-15 03:49:00 +00:00
77a753f6f2 feat: dead code detector for Python codebases (#94) 2026-04-15 03:46:43 +00:00
cbebd93cbb feat: cross-repo dependency graph builder (#93) 2026-04-15 03:44:12 +00:00
b36f617d4a test: add tests for session pair harvester (#91) 2026-04-15 03:39:09 +00:00
b5466dc938 feat: session transcript → training pair harvester (#91) 2026-04-15 03:39:08 +00:00
55797c8a3e feat: add sampler.py — session value scorer (#17) 2026-04-15 03:02:12 +00:00
160dfcf419 feat: add session_metadata.py — structured session metadata extractor (#6) 2026-04-14 19:06:16 +00:00
8d716ff03f Add comprehensive test script for harvest prompt validation 2026-04-14 19:02:41 +00:00
Timmy
b32d316023 feat(#10): knowledge file format schema + example knowledge files
- SCHEMA.md: full specification for index.json and YAML knowledge files
- knowledge/global/pitfalls.yaml: 8 cross-repo pitfalls
- knowledge/global/tool-quirks.yaml: 7 environment quirk facts
- knowledge/repos/hermes-agent.yaml: 8 per-repo pitfalls (cron, paths, SSH)
- knowledge/repos/the-nexus.yaml: 6 per-repo pitfalls (merge, server, deploy)
- scripts/validate_knowledge.py: schema validator (29 facts, all passing)
- knowledge/index.json: populated with 29 seed facts from real fleet data

Design decisions:
- YAML for humans, index.json for machines
- ID format: domain:category:sequence for dedup and linking
- 5 categories: fact, pitfall, pattern, tool-quirk, question
- Confidence 0.0-1.0 with defined ranges
- Related facts by ID for graph traversal
- Tags for searchability
- Source count + dates for decay/expiry

Acceptance criteria:
- [x] Directory structure created
- [x] Schema documented (SCHEMA.md)
- [x] index.json with real facts (29 total)
- [x] Example knowledge files for 2 repos (hermes-agent, the-nexus)
- [x] Validation script passes
2026-04-14 14:21:21 -04:00
Timmy
b65256bf76 feat: build bootstrapper.py - pre-session context assembler
Assembles relevant knowledge from the store into a compact 2k-token
context block for session injection.

Features:
- Filter by repo, agent type, and global scope
- Sort by confidence (pitfalls first, patterns, facts)
- Per-repo and per-agent markdown knowledge files
- Graceful empty-store handling
- JSON output mode for programmatic use
- Token-count-aware truncation at line boundaries

Closes #11
2026-04-14 14:05:30 -04:00
Alexander Whitestone
da073ad7cf feat: add harvester.py — session knowledge extractor (#8)
Main harvester module that chains:
  session_reader → extraction prompt → LLM → validate → deduplicate → store

Includes:
- scripts/harvester.py — main module (reader + prompt + storage pipeline)
- scripts/session_reader.py — JSONL transcript parser
- scripts/test_harvester_pipeline.py — smoke tests (all passing)

Pipeline:
  1. Read session JSONL via session_reader
  2. Truncate long sessions (first 50 + last 50 messages)
  3. Send transcript + extraction prompt to LLM (mimo-v2-pro)
  4. Parse structured JSON response (facts/pitfalls/patterns/quirks/questions)
  5. Validate fields + confidence threshold
  6. Deduplicate against knowledge/index.json (fingerprint + word overlap)
  7. Write to knowledge store (index.json + per-repo markdown)

CLI:
  Single:  python3 harvester.py --session <path> --output knowledge/
  Batch:   python3 harvester.py --batch --since 2026-04-01 --limit 100
  Dry-run: python3 harvester.py --session <path> --dry-run
2026-04-14 14:03:30 -04:00
102ef67a8e Add test script for knowledge extraction prompt 2026-04-14 17:22:17 +00:00
Alexander Whitestone
b5873e9e3d Initial structure: knowledge store, scripts, metrics, templates 2026-04-14 11:17:01 -04:00