Skip to content

Add Architecture Decision Records (ADR) documentation#34

Merged
marcarl merged 5 commits intomainfrom
add-adr-documentation
Jan 7, 2026
Merged

Add Architecture Decision Records (ADR) documentation#34
marcarl merged 5 commits intomainfrom
add-adr-documentation

Conversation

@marcarl
Copy link
Copy Markdown
Collaborator

@marcarl marcarl commented Jan 6, 2026

Summary

  • Created ADR documentation structure in /docs/adr/
  • Added ADR-001: Semantic tags for temporal data
  • Added ADR-002: Import from Regeringskansliet instead of PDF crawling
  • Follows MADR (Markdown Any Decision Records) format

Details

This PR documents two key architectural decisions:

ADR-001: Semantic tags for temporal data

  • Documents the design of selex: attribute system for temporal metadata
  • Explains filtering logic in temporal/apply_temporal.py
  • Covers alternatives considered (YAML frontmatter, comments, data-attributes, TEI XML)

ADR-002: Import from Regeringskansliet instead of PDF crawling

  • Documents the choice of Regeringskansliet's Elasticsearch API as primary data source
  • Explains benefits of structured JSON over PDF parsing
  • Covers alternatives (Riksdagen API, PDF crawling, scraping)

Test plan

  • Review ADR-001 for accuracy and completeness
  • Review ADR-002 for accuracy and completeness
  • Verify README.md index is correct
  • Check that cross-references between ADRs work

🤖 Generated with Claude Code

marcarl and others added 5 commits January 6, 2026 17:47
Created ADR documentation structure following MADR format:
- ADR-001: Semantic tags for temporal data (selex: attributes)
- ADR-002: Import from Regeringskansliet instead of PDF crawling

Documents key architectural decisions regarding temporal metadata
handling and data sources for the SFS processor project.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Documents the architectural decision to use Markdown as an intermediate
format between JSON source data and all output formats (HTML, Git, Vector).

Key points:
- Single source of truth for parsing logic
- Human-readable for code review and debugging
- Standard tooling and ecosystem
- Flexible for adding new output formats

Also updates README.md to include both ADR-003 and ADR-004 in the index.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Move "Markdown som mellanformat" to ADR-001 (from ADR-004) and
"Semantiskt val av taggar för temporal data" to ADR-004 (from ADR-001).

Markdown as intermediate format is a more foundational architectural
decision that other decisions build upon, so it makes sense to have it
as ADR-001.

All cross-references in ADR-002, ADR-003, and within the documents
have been updated accordingly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update terminology throughout ADR documentation to consistently use
'författning/författningar' instead of 'lag/lagar'. This is more
technically accurate as SFS (Svensk författningssamling) contains
various types of legal instruments, not just laws.

Changes:
- ADR-001: Updated examples in Markdown and XML code blocks
- ADR-003: Updated all references to legal instruments and examples
- ADR-004: Updated description of temporal functionality

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@marcarl marcarl merged commit 60255e8 into main Jan 7, 2026
5 checks passed
@marcarl marcarl deleted the add-adr-documentation branch January 7, 2026 19:09
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