Skip to content

Rebuild - merge and debug it - #1

Merged
divyaanshkumar24 merged 13 commits into
mainfrom
rebuild
Aug 10, 2026
Merged

Rebuild - merge and debug it #1
divyaanshkumar24 merged 13 commits into
mainfrom
rebuild

Conversation

@Ayushmangela

Copy link
Copy Markdown
Collaborator

No description provided.

- backend/tests/ (pytest) covering extraction heuristics, diff/metrics
  functions, and every API route via TestClient against a throwaway DB;
  .github/workflows/tests.yml runs it on push/PR
- backend/app/acquisition.py: import any ticker from SEC EDGAR on demand,
  reusing ingest.py's existing fetch/extract/diff pipeline; new
  /api/companies/search and /api/companies/{ticker}/import endpoints;
  frontend/js/home.js offers this when a search has no local match
- frontend/js/chart.js: dependency-free SVG trend charts (similarity, Fog
  index) across every filing a company has, fed entirely by the
  analyst_metrics the backend already computes -- no fabricated data
- README updated to describe the test suite and on-demand import

Built on the rebuild branch off main, which was already the clean
pre-dashboard-pivot state; ayush and main are untouched.
…hy, real live-diff hero

The previous look was a generic templated SaaS pattern (cold gray, indigo
accent, gradient-blob hero card, system-ui everywhere). This pass grounds
the design in what the product actually is -- a legal redline of SEC
filings -- rather than a generic dashboard:

- Warm paper/ink color tokens instead of cold gray, in both themes; the
  validated colorblind-safe diff palette (blue/amber) and accent/feature
  hues are unchanged in hue, only re-tuned in lightness for the new
  surfaces and re-validated against the dataviz skill's palette checker
- Source Serif 4 for display/prose (was system Georgia stack), IBM Plex
  Mono for every ticker, date, and numeric figure app-wide -- the way an
  actual filing or ledger sets its numerals, distinct from surrounding
  prose/UI type
- Hero now leads with the product itself: a live excerpt fetched from the
  biggest recent mover's actual diff (real added/removed sentences, not
  decorative copy), replacing the gradient-blob placeholder card
- A redline accent bar on company/mover cards ties the browse grid back to
  the diff view's own visual grammar
- Fixed a real pre-existing mobile bug: the metrics/section-nav sidebar
  overflowed the viewport below 640px instead of wrapping
…e routes

Previous structure: a top bar + full-page hash router that swapped the
entire content area between a home page (big card grid) and a company
detail page, with a "back to all companies" link between them -- a
conventional content-site skeleton.

New structure: a permanent left rail (search/sort/filter + the company
list, styled as a compact scannable list rather than a card grid) that
never unmounts, next to a main panel that swaps between the overview and
a company's diff. Closer to a PR file list next to its diff, or a mail
client's message list next to the reading pane, than to a marketing site's
home/detail page split -- and it matches what this tool actually is,
since browsing between companies is the primary repeated action.

- frontend/js/main.js: orchestrates the shell -- fetches company data once
  into the rail, and on each hashchange only re-renders the main panel and
  toggles the rail's active item, instead of re-rendering everything
- frontend/js/home.js: split into initRail() (search/sector/sort + list +
  on-demand-import fallback, all living in the rail) and renderOverview()
  (hero + live excerpt + biggest movers, in the main panel)
- frontend/js/company.js: no more "back to all companies" link -- the rail
  is always there
- CSS: new .app-shell/.rail/.main-panel layout; below 860px the rail
  becomes a collapsible drawer under a toggle bar instead of a permanent
  column. Diff view, metrics panel, section nav, charts, and modal are
  unchanged -- this was a navigation/layout change, not a visual-language
  change.
- Also fixed the missing-brace bug in the original main.js's settings
  modal handler (the Escape-to-close listener was nested inside the
  clear-key-button handler instead of being registered at top level)
…xt search

README updates to match the new features: the local-LLM batch summary
pipeline (summarize_local.py against a local Ollama server), sector/peer
percentile benchmarking, the honest section/sub-topic word-count
breakdown, and cross-company full-text search. Also updates the
Quickstart to describe the persistent rail/main-panel shell instead of
the old home-page/detail-page split.
@divyaanshkumar24
divyaanshkumar24 merged commit 42c37d8 into main Aug 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants