Commit Graph

11 Commits

Author SHA1 Message Date
James f7e6c32e30 refactor: simplify RBAC - categories are entries
- Remove special cat:{id} handling from permission resolution
- Categories are now just entries with parent_id=""
- Access flows naturally through parent_id chain hierarchy
- Three levels: root (entry_id="") > categories > individual entries
- Explicit denial supported with ops=""
- Updated documentation to reflect cleaner model

Next: deprecate dossier_access table, migrate to access grants

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-07 17:01:59 -05:00
James c1cd76559d fix: genome query RBAC - use system context for data access
- Updated all genome functions to accept AccessContext parameter
- GenomeGetExtraction, GenomeGetTiers, GenomeGetTierByCategory,
  GenomeGetVariants, GenomeGetVariantsByTier now pass context to EntryList
- API genome handler uses system context after dossier access check
- Categories endpoint uses system context for counting operations
- Fixes MCP query_genome returning 403/no data errors

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-07 16:31:17 -05:00
James 6fc2a08ea5 Rename import_dicom to import-dicom for consistency 2026-02-04 23:02:39 -05:00
Johan Jongsma c604514abb cleanup: remove v1 dossier, rename dossier_v2 to dossier
- Remove handleDossier (legacy v1 handler)
- Remove /v1 route
- Rename dossier_v2.tmpl → dossier.tmpl
- Remove HealthEntryView struct and entriesToView helper
- Add 'build profile' prompt to Daily Check-in for empty trackables
- Update demo handler to use unified dossier page
2026-02-02 07:54:52 +00:00
Johan Jongsma e46abbdddd fix: extracted events are root entries, documents are references
- Reversed parent-child relationship: events/assessments are now root level
- Source document stored in data.source_id instead of parent_id
- Generic section summary uses section ID (e.g., '2 medications' not '2 items')
- Reprocessed Anastasiia's 62 entries
2026-02-02 07:22:27 +00:00
Johan Jongsma 8754a9df40 refactor: unified dossier page with section blocks
- New dossier_sections.go with DossierSection struct and BuildDossierSections()
- Single section_block template replaces 12+ copy-pasted HTML blocks
- All 26 categories supported with default handler for unknown ones
- /dossier/{id} now uses v2, /dossier/{id}/v1 keeps legacy
- Added missing translation keys for all section types
- CSS: added .section-children and .hidden-row classes
2026-02-02 07:11:48 +00:00
Johan Jongsma 1ffa947a52 security: add SOC2 positioning, monthly monitoring, audit trail 2026-02-01 10:38:00 +00:00
Johan 9190ca1443 Merge remote 'Initial commit from dev' with local master
Conflicts resolved:
- soc2 docs: used remote (updated versions)
- go.mod/go.sum: kept local (full dependencies)
- lib/*.go: kept local (production FIPS, no hardcoded keys)
- .gitignore: kept local (comprehensive)
- test/*.sh: kept local (executable permissions)

Includes: Flutter app, design system, templates, static assets
2026-02-01 04:00:45 -05:00
Johan 320895f1ad Add POST /api/v1/dossiers/{id}/parse endpoint
Exposes LLM triage + extraction as a standalone API for web/mobile clients.
Creates entries and prompts from free-form health input, returns structured
response with created resource IDs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 03:47:14 -05:00
Johan Jongsma dd160f8451 Initial commit from dev 2026-02-01 08:03:12 +00:00
Johan 94946baf00 Initial commit 2026-02-01 02:43:27 -05:00