Pipeline refresh:
- Extract ideas from 46 remaining drafts (844 total ideas now)
- Clear stale llm_cache entries blocking re-extraction
- Re-run gap analysis with expanded corpus: 10 gaps (was 12), fresh IDs #1-#10
- Re-link 3 proposals to new gap IDs
- Add scripts/pipeline-refresh.sh for reproducible runs
Draft generation moved from gaps to proposals:
- Remove "Generate Internet-Draft" section from gap detail page
- Add it to proposal detail page instead (proposals → generate I-D flow)
- New route POST /proposals/<id>/generate with richer context
(proposal title + description + linked gap topics)
- Remove misleading "Search related drafts" link from gap page
(related drafts already shown inline)
Public page polish:
- Overview: update subtitle to mention all 6 standards bodies
- About: describe multi-source scope (IETF, ISO, ITU-T, ETSI, NIST, W3C)
- About: add guiding question ("Where is the AI agent standards race heading?")
- Obsidian export button hidden in production mode (prior commit)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
31 lines
906 B
Bash
Executable File
31 lines
906 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Pipeline refresh: extract missing ideas, re-score, then re-run gap analysis
|
|
# Run from project root: bash scripts/pipeline-refresh.sh
|
|
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
export PYTHONPATH=src
|
|
|
|
echo "=== Step 1/3: Extract ideas from 38 remaining drafts ==="
|
|
python -m ietf_analyzer.cli ideas --all --cheap --batch 5 --limit 50
|
|
|
|
echo ""
|
|
echo "=== Step 2/3: Score new ideas for novelty ==="
|
|
python -m ietf_analyzer.cli ideas score --cheap --batch 10
|
|
|
|
echo ""
|
|
echo "=== Step 3/3: Re-run gap analysis ==="
|
|
python -m ietf_analyzer.cli gaps --refresh
|
|
|
|
echo ""
|
|
echo "=== Done ==="
|
|
python -c "
|
|
from ietf_analyzer.config import Config
|
|
from ietf_analyzer.db import Database
|
|
cfg = Config.load()
|
|
db = Database(cfg)
|
|
ideas = db.conn.execute('SELECT count(*) FROM ideas').fetchone()[0]
|
|
gaps = db.conn.execute('SELECT count(*) FROM gaps').fetchone()[0]
|
|
print(f'Ideas: {ideas}, Gaps: {gaps}')
|
|
"
|