143 lines
6.4 KiB
JSON
143 lines
6.4 KiB
JSON
{
|
|
"generated_at": "2025-03-09T00:00:00Z",
|
|
"unfinished": [
|
|
{
|
|
"id": "mlfs-package-import",
|
|
"title": "Import all MLFS packages into lpkg",
|
|
"description": "Parse the Multilib LFS book and scaffold package definitions with optimisation defaults (LTO/PGO/-O3).",
|
|
"owner": "mlfs_researcher",
|
|
"priority": "critical",
|
|
"target_release": "0.3.0",
|
|
"blocked_on": [
|
|
"Finalize metadata -> Rust module generation pipeline",
|
|
"Implement automated parser"
|
|
],
|
|
"next_actions": [
|
|
"Cross-check ai/metadata coverage vs. MLFS chapter index",
|
|
"Batch-run import workflow in dry-run mode to detect schema gaps",
|
|
"Document manual overrides for multi-pass toolchain packages"
|
|
],
|
|
"success_metrics": [
|
|
">= 95% of MLFS packages imported with build/install commands",
|
|
"Generated modules compile under cargo check --features graphql",
|
|
"Metadata index remains <2 seconds to validate on CI"
|
|
],
|
|
"notes": "Coordinate closely with rust-module-generator to avoid duplicated scaffolding logic."
|
|
},
|
|
{
|
|
"id": "pgo-integration",
|
|
"title": "Integrate profile guided optimization support",
|
|
"description": "Add infrastructure for collection and replay of profiling data during package builds.",
|
|
"owner": "default_cli",
|
|
"priority": "high",
|
|
"blocked_on": [
|
|
"Decide on profiling workload definitions"
|
|
],
|
|
"next_actions": [
|
|
"Capture baseline timings for release vs release-pgo",
|
|
"Prototype lightweight profiling harness (shell or cargo alias)",
|
|
"Document warmup requirements for long-running packages"
|
|
],
|
|
"success_metrics": [
|
|
"release-pgo builds show >8% speedup on binutils/gcc workloads",
|
|
"PGO instrumentation + merge flow documented in README",
|
|
"CI job ensures profiles are optional but never stale"
|
|
]
|
|
},
|
|
{
|
|
"id": "lfs-html-parsers",
|
|
"title": "Automate LFS/BLFS/GLFS ingest via HTML parsing",
|
|
"description": "Avoid hardcoded package data; download the upstream books (LFS, BLFS, GLFS) and parse them to drive scaffolding and metadata updates.",
|
|
"owner": "mlfs_researcher",
|
|
"priority": "medium",
|
|
"blocked_on": [
|
|
"Design resilient scraping strategies for each book",
|
|
"Implement incremental update workflow"
|
|
],
|
|
"next_actions": [
|
|
"Audit selectors currently used by ai/metadata harvester",
|
|
"Introduce regression fixtures for common chapter archetypes",
|
|
"Add revalidation mode to detect silent upstream markup changes"
|
|
],
|
|
"risks": [
|
|
"Upstream XHTML sometimes reflows anchors without notice",
|
|
"Need rate limiting/backoff when mirrors throttle requests"
|
|
]
|
|
},
|
|
{
|
|
"id": "rust-module-generator",
|
|
"title": "Generate package modules from harvested metadata",
|
|
"description": "Transform harvested metadata into Rust files under src/pkgs/by_name, wiring PackageDefinition data directly.",
|
|
"owner": "default_cli",
|
|
"priority": "high",
|
|
"blocked_on": [
|
|
"Define translation scheme from metadata to PackageDefinition",
|
|
"Integrate generator with metadata_indexer output"
|
|
],
|
|
"next_actions": [
|
|
"Add snapshot tests comparing generated modules vs golden outputs",
|
|
"Extend generator to emit README snippets for each package",
|
|
"Expose --dry-run summary with diff previews"
|
|
],
|
|
"dependencies": [
|
|
"mlfs-package-import",
|
|
"lfs-html-parsers"
|
|
]
|
|
},
|
|
{
|
|
"id": "dependency-audit",
|
|
"title": "Keep lpkg dependency footprint lean",
|
|
"description": "Regularly evaluate crates for bloat and replace heavy stacks with std or lightweight alternatives.",
|
|
"owner": "default_cli",
|
|
"priority": "medium",
|
|
"next_actions": [
|
|
"Track remaining crates pulling in large transitive trees (e.g. tracing, actix-only paths)",
|
|
"Automate cargo-tree diff reports in CI",
|
|
"Document substitution patterns (tokio ➜ std, reqwest ➜ ureq, etc.)"
|
|
],
|
|
"success_metrics": [
|
|
"Default `cargo build` compiles < 140 crates",
|
|
"No async runtimes linked when GraphQL feature is disabled",
|
|
"README lists regeneration commands for all generated assets"
|
|
],
|
|
"notes": "Continue pruning optional crates (tracing, gptman, uuid) when the TUI feature is off; surface findings in ai/notes.md."
|
|
}
|
|
],
|
|
"solved": [
|
|
{
|
|
"id": "ai-metadata-store",
|
|
"title": "Create AI metadata directory",
|
|
"description": "Introduce ai/personas.json, ai/tasks.json, ai/bugs.json for persistent assistant context.",
|
|
"resolution": "Initial JSON files checked in with placeholder content.",
|
|
"owner": "default_cli"
|
|
},
|
|
{
|
|
"id": "metadata-schema-v0.1",
|
|
"title": "Define package metadata schema",
|
|
"description": "Specify JSON schema and layout for storing scraped package detail from LFS family books.",
|
|
"resolution": "Added ai/metadata/schema.json with v0.1.0 structure and seeded initial package entry/index.",
|
|
"owner": "default_cli"
|
|
},
|
|
{
|
|
"id": "metadata-indexer-cli",
|
|
"title": "Build metadata validation/indexing tool",
|
|
"description": "Provide a standalone CLI to validate package metadata against the schema and regenerate ai/metadata/index.json.",
|
|
"resolution": "Added src/bin/metadata_indexer.rs with schema validation, summary extraction, and index writer integration.",
|
|
"owner": "default_cli"
|
|
},
|
|
{
|
|
"id": "metadata-jhalfs-refresh",
|
|
"title": "Wire jhalfs manifests into metadata harvester",
|
|
"description": "Cache wget-list/md5sums from jhalfs and expose a CLI refresh command so harvesting can populate source URLs and checksums reliably.",
|
|
"resolution": "Extended metadata_indexer with a `refresh` subcommand, cached manifests under ai/metadata/cache/, and hooked harvest to populate MD5 checksums via jhalfs data.",
|
|
"owner": "default_cli"
|
|
},
|
|
{
|
|
"id": "lightweight-http-stack",
|
|
"title": "Replace async HTTP stack with lightweight blocking client",
|
|
"description": "Remove tokio/reqwest default dependency and adopt a minimal HTTP client for CLI workflows.",
|
|
"resolution": "Swapped reqwest/tokio for ureq across html, ingest, and metadata tooling; added PGO-aware Cargo profiles and documented regeneration commands.",
|
|
"owner": "default_cli"
|
|
}
|
|
]
|
|
}
|