ARCLUX Progress — Backlog (still empty)
See PROGRES.md for the index. Split by topic from the original PROGRES-status.md.2026-08-13 — UPDATE: framework rule stubs — implemented
All 10 remaining rule stubs inpackages/rules/* (nextjs x4, nestjs x2,
express, vite, electron x2) are now implemented, wired into
apps/cli/verify.ts and packages/engine/contract.ts (13 rules total,
react/requirePropsTyping remains a documented deferral; 14 rules as of
2026-08-14 with laravel/requireController — issue #53). Test coverage
for issue #8 completed: graph, impact, indexer, pipeline, and per-language
parser suites — 141 tests / 20 files, vitest green. See the old entry
below for the historical stub list.
2026-08-03 — ❌ STILL EMPTY (8-line stub, license header only)
Priority #1 — core feature — NOTE: this was previously miscategorized, see “packages/impact/ already done” update below* High priority:packages/db/*(5 files)components/workspace/*(5 files + 3 panels — all stubs)components/explorer/Explorer.tsx,DependencyList.tsx,ImpactSummary.tsxcomponents/overview/RepositoryHeader/Info/Overview.tsxcomponents/search/GlobalSearch.tsx(just needs to use the existingfuzzyScore.ts)- Remaining detectors (8 of 18 — see list above)
packages/cache/*,packages/watcher/*(5 & 4 files respectively)- Remaining
packages/git/*(checkoutBranch,detectDefaultBranch,getBranches,getCommitHistory,getContributors— different fromcloneRepository/cleanupRepository/readGitignore, which are already done) packages/graph/buildCallGraph/buildExportGraph/buildImportGraph.ts- Remaining
packages/indexer/*(indexSchema,resolveComponents/Exports/ Hooks/Providers/Routes,updateIndex,watchIndex) — the emptyresolveRoutes.tsis whydetectUnusedExportsis not yet entry-file-aware - Remaining
packages/rules/*(electron, express, nestjs, react, vite — 9 files,nextjs/*also still 3 of 4 stubs:requireIndexUpdate,requireLayoutUpdate,requireMetadata) packages/search/*(SearchEngine, SearchFilters, SearchIndex, SearchKeyboard, SearchProvider, SearchResults — different from the already-donefuzzyScore.ts, which isn’t yet plugged into these)packages/ui/*(5 files) — ⚠️ watch for duplication:graphColor.tshere vstheme/graphColors.tsinapps/web, which is already done — very similar names, same dead-code risk as a previous incident if someone writes content here without realizing a working version already existsapps/web/features/*(13 files — graph, impact, issues, repository, search stores/hooks, all stubs)- Remaining
apps/web/hooks/*(useClipboard, useCommandPalette, useDebounce, useMediaQuery) apps/web/lib/api.ts,lib/graph.tsapps/web/theme/motion.ts,spacing.ts,typography.ts- Other-language parsers: cpp, csharp, go, java, javascript
(parseCommonJs/Js/Jsx), php, ruby, rust — all 0%.
parser/config/*(json, packageJson, toml, yaml) also 0%.parser/core/parseImports.ts0%. parser/typescript/parseTsx.ts,parseTsConfig.ts— check first whether these really need separate implementation or the logic already lives inparseTs.ts(194 lines) before rewriting
scripts/*(4 files: benchmark, build, generateFixtures, release)tests/*(everything — detector, graph, impact, indexer, pipeline, per-language parser tests) — 0% total, there isn’t a single test in this project yet
2026-08-11 — Explorer.tsx exists but never mounted, likely contributes to weak first impression
[STATUS UPDATE, 2026-08-14]: RESOLVED — Explorer is now mounted as a right-hand panel on the graph page, opening when a file node is selected (see progres/status-web.md “Explorer panel mounted into the graph page”).Status: Done Confirmed via grep: zero references to Explorer in apps/web/app. Component exists, works standalone, but no page renders it. Worth prioritizing — a working workspace/explorer view is probably what makes ARCLUX feel alive to new visitors vs just a graph viewer.
2026-08-14 — UPDATE: the 2026-08-03 “STILL EMPTY” list — mostly resolved
[STATUS UPDATE, 2026-08-14]: the 2026-08-03 ”❌ STILL EMPTY” list below is largely historical now. Resolved since then (see the individual status files):packages/search/*(issue #9, 6/6),graph/buildCallGraph.ts(issue #50),indexer/resolveRoutes.ts(issue #7), remaining hooks (issue #147, 3/3), all framework rule stubs (13→14 rules incl. laravel), tests (141→191). Still open: the resolver family isn’t attached to ModuleInfo by buildIndex, andExplorer/workspace/overviewpanels still aren’t mounted on any page.
2026-08-14 — Laravel framework rules (issue #53)
Status: Donepackages/parser/php/parsePhpRoutes.ts (new) extracts controller
references from routes/web.php/routes/api.php — v1 handles only the
array callable syntax [UserController::class, 'index']; closures and
string callables ('UserController@index') are documented as skipped.
packages/rules/laravel/requireController.ts (new) flags routes
referencing controllers with no file under app/Http/Controllers/.
Registered in both apps/cli/verify.ts and packages/engine/contract.ts;
framework detection extended to read composer.json (laravel/framework
→ laravel). Verified against real routes: monica (143 controllers
extracted, closures correctly skipped; DDD layouts give false
“missing” — documented v1 limitation) and laravel/laravel 11.x
(closure-only → 0 refs, correct). 8 tests (tests/rules-laravel.test.ts).