Skip to content

v2.1 — Audit remediation, hardening, and branded README/images#6

Merged
Hainrixz merged 1 commit into
mainfrom
evolve/audit-remediation
Jun 18, 2026
Merged

v2.1 — Audit remediation, hardening, and branded README/images#6
Hainrixz merged 1 commit into
mainfrom
evolve/audit-remediation

Conversation

@Hainrixz

Copy link
Copy Markdown
Owner

Summary

Full audit-driven stabilization + evolution of the investment-analysis skill, plus a refreshed bilingual README with branded imagery. Verified: dashboard build green, lint 0 errors, XSS payload test PASS, schema valid, version parity OK, dev server serves numeric data with CSP headers.

What changed

  • Portability — resolves its own install dir and writes to ~/.claude/cache/tododeia; fixes "no report generated" when installed. Captures analysis_date once for all agents.
  • Numeric data contract — numbers-or-null across TS types / JSON Schema / SKILL.md / dashboard / HTML template; locale-aware format-on-render; CI-validated.
  • Hybrid keyless market data — CoinGecko, Yahoo Finance v8, Frankfurter with a deterministic fallback ladder + optional FINNHUB_API_KEY / POLYGON_API_KEY.
  • Security — XSS-safe JSON data island + esc() in the HTML fallback; CSP + security headers (next.config.ts).
  • Educational compliance — one-time acknowledgment gate + disclaimer-first; analytical Consider / Hold / Avoid language instead of buy/sell.
  • a11y / i18n — chart ARIA, keyboard nav + sortable headers, modal focus-trap/Escape, prefers-reduced-motion, dynamic <html lang>, ES-fallback toast, EN/ES parity (104 keys).
  • Robustness — hardened install.sh, GitHub Actions CI (build · lint · ajv schema · version parity · installer), CHANGELOG.md, CONTRIBUTING.md, v2.1.0 across manifests.
  • Docs — bilingual README with a Higgsfield-generated hero + section images (docs/images/).

Verification

  • npm run build/lint --prefix dashboard — green, 0 errors
  • XSS injection test (</script><img onerror>) renders inert — PASS
  • ajv validates report.json / report-es.json against the new schema
  • bash -n install.sh + version parity (plugin.json == SKILL.md == 2.1.0)
  • Dev server: HTTP 200, CSP header present, numeric report JSON served

Note: dark mode is intentionally deferred (components use hardcoded light colors; a partial migration would render inconsistently).

🤖 Generated with Claude Code

Stabilize and evolve the investment-analysis skill end-to-end:

- Portability: resolve SKILL_DIR + write all artifacts to ~/.claude/cache/tododeia
  (fixes "no report generated" when installed); capture analysis_date once.
- Numeric data contract across types / JSON schema / SKILL.md / dashboard / HTML
  template; locale-aware format-on-render; CI schema validation.
- Hybrid keyless market data (CoinGecko, Yahoo Finance, Frankfurter) with a
  deterministic fallback ladder + optional FINNHUB/POLYGON keys.
- Security: XSS-safe JSON data island + esc() in the HTML fallback; CSP +
  security headers on the dashboard.
- Educational compliance: acknowledgment gate + disclaimer-first; analytical
  Consider/Hold/Avoid language instead of buy/sell.
- a11y/i18n: chart ARIA, keyboard nav, focus-trap, prefers-reduced-motion,
  dynamic <html lang>, ES-fallback toast, EN/ES parity (104 keys).
- Robustness: hardened install.sh, GitHub Actions CI (build/lint/schema/version
  parity/installer), CHANGELOG, CONTRIBUTING, version 2.1.0 across manifests.
- Docs: bilingual README refreshed with a branded Higgsfield hero + section
  images; partial-sector-failure handling reweights to cash.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KAXqxzDGdhGuRnWnRkKj5f
@Hainrixz
Hainrixz merged commit da9fb05 into main Jun 18, 2026
2 checks passed
@Hainrixz
Hainrixz deleted the evolve/audit-remediation branch June 18, 2026 21:24
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.

1 participant