Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions ARCHITECTURE.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
== Architecture

=== Overview

This repository follows a modular, maintainable architecture designed
for clarity, scalability, and long-term sustainability.

=== Directory Structure

....
.
├── src/ # Source code
├── tests/ # Test suites
├── docs/ # Documentation
├── scripts/ # Utility scripts
├── config/ # Configuration files
├── LICENSE # License file
├── LICENSES/ # Full license texts
└── README.adoc # Project documentation
....

=== Design Principles

* *Separation of Concerns*: Each module has a single responsibility
* *Testability*: Code is written to be easily testable
* *Documentation*: All public APIs are documented
* *Configuration*: Environment-specific settings are externalized

=== Dependencies

* External dependencies are minimized and clearly declared
* Version pinning is used for reproducibility

=== Security Considerations

* Sensitive data is never committed to the repository
* Secrets are managed through environment variables or secure vaults
* Regular dependency audits are performed

=== Maintainability

* Code follows consistent style guidelines
* Pull requests require review and CI checks
* Issues and discussions are tracked transparently

'''''

_Last updated: 2026-07-18_
47 changes: 0 additions & 47 deletions ARCHITECTURE.md

This file was deleted.

214 changes: 38 additions & 176 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
@@ -1,192 +1,54 @@
// SPDX-License-Identifier: CC-BY-SA-4.0
= Changelog
== Changelog

All notable changes to this project will be documented in this file.
All notable changes to `+social-media-polygraph+` will be documented in
this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
This file is generated from conventional commits by the
https://github.com/hyperpolymath/standards/blob/main/.github/workflows/changelog-reusable.yml[`+changelog-reusable.yml+`]
workflow (`+hyperpolymath/standards#206+`). Adopt the workflow in this
repo’s CI to keep this file in sync automatically — see
https://github.com/hyperpolymath/standards/blob/main/templates/cliff.toml[`+templates/cliff.toml+`]
for the canonical config.

== [Unreleased]
The format follows https://keepachangelog.com/en/1.1.0/[Keep a
Changelog]; this project aims to follow
https://semver.org/spec/v2.0.0.html[Semantic Versioning].

=== Planned
- Real fact-checking API integrations (Google Fact Check, Snopes, PolitiFact)
- Multi-language support
- Real-time claim monitoring
- Webhook support for notifications
- PDF/CSV export functionality
- Enhanced ML models with fine-tuning
- Mobile applications
- Advanced analytics dashboard
=== [Unreleased]

== [0.1.0] - 2024-01-15
==== Added

=== Added
* feat: import foundation from social-media-tools/polygraph fork

==== Backend
- FastAPI RESTful API with async support
- ArangoDB multi-model database integration
- Document storage for claims, sources, users
- Graph relationships for knowledge graph
- Collections: claims, sources, fact_checks, users, api_keys
- XTDB temporal database for claim history tracking
- Dragonfly cache for high-performance caching
- NLP pipeline with spaCy
- Entity extraction
- Sentiment analysis with TextBlob
- Text complexity analysis
- Language detection
- Credibility scoring algorithm
- Source credibility scoring
- Claim credibility scoring
- Bias detection
- Fact-checking service framework (mock implementations)
- JWT authentication system
- API key management
- Rate limiting with slowapi
- Prometheus metrics integration
- Comprehensive error handling
- Logging with loguru
- Test suite with pytest
- Unit tests for NLP processor
- Unit tests for credibility scorer
- Integration tests for API endpoints
- Test fixtures and mocks
==== Fixed

==== Frontend
- React 18 application with TypeScript
- Vite build system
- TailwindCSS styling
- React Query for data fetching
- React Router for navigation
- Pages:
- Home page with feature overview
- Verify page for claim submission
- Claim detail page with full analysis
- About page with project information
- Components:
- Layout with header and footer
- VerificationResult display component
- API client service
- TypeScript types and interfaces
- Responsive design
- Form validation with react-hook-form

==== Browser Extension
- Manifest V3 Chrome/Firefox extension
- Background service worker
- Content scripts for social media integration
- Twitter/X support
- Facebook placeholder
- Instagram placeholder
- Popup interface for quick verification
- Context menu integration
- Cross-platform compatibility

==== Infrastructure
- Podman containerization
- Backend Containerfile with multi-stage build
- Frontend Containerfile with nginx
- Podman Compose orchestration
- ArangoDB service
- XTDB service
- Dragonfly service
- Backend API service
- Frontend service
- GitHub Actions CI/CD
- Backend tests and linting
- Frontend tests and type checking
- Container building
- Security scanning with Trivy
- Deployment workflow
- Development scripts
- start-dev.sh
- stop-dev.sh
* fix(ci): sync hypatia-scan.yml to canonical (kill cd-scanner build
drift) (#15)
* fix(ci): build Hypatia escript from repo root (estate dogfood drift)
* fix(ci): rsr-antipattern.yml duplicate heredoc (#14)

==== Documentation
- Comprehensive README with quick start
- API documentation (docs/API.md)
- Architecture documentation (docs/ARCHITECTURE.md)
- Deployment guide (docs/DEPLOYMENT.md)
- Contributing guidelines (CONTRIBUTING.md)
- Security policy (SECURITY.md)
- Code of Conduct (CODE_OF_CONDUCT.md)
- Maintainers guide (MAINTAINERS.md)
- Development summary
- MIT License
- .gitignore for Python, Node, containers

==== Configuration
- Environment variable configuration
- Poetry dependency management for Python
- npm package management for frontend
- TypeScript configuration
- ESLint and Prettier setup
- Pytest configuration
- Docker/Podman health checks

=== Security
- JWT token-based authentication
- bcrypt password hashing
- API key authentication support
- Rate limiting (100 req/min default)
- CORS configuration
- Input validation with Pydantic
- SQL injection prevention (NoSQL)
- XSS prevention in frontend
- Security headers in nginx
- Non-root container users
- Secrets management via environment variables

=== Developer Experience
- Type safety
- Python type hints throughout
- Full TypeScript typing in frontend
- Code quality tools
- Black code formatting
- Ruff linting
- mypy type checking
- ESLint for TypeScript
- Testing infrastructure
- pytest with coverage
- Test fixtures and mocks
- Integration test framework
- Development workflow
- Hot reload in development
- Fast builds with Vite
- One-command startup
- Documentation
- Inline code comments
- API documentation
- Architecture diagrams
- Deployment guides

== Version History

=== Version Numbering

We use [Semantic Versioning](https://semver.org/):

- **MAJOR** version for incompatible API changes
- **MINOR** version for backwards-compatible functionality additions
- **PATCH** version for backwards-compatible bug fixes

=== Release Schedule

- **Major releases**: Annually (breaking changes)
- **Minor releases**: Quarterly (new features)
- **Patch releases**: As needed (bug fixes, security)

=== Upgrade Guides
* docs: record tech-debt audit findings (2026-05-26) (#26)
* docs(readme): add SPDX header, OSSF and GWF badges; fix license badge
to PMPL

For breaking changes, see `docs/UPGRADE.md` (to be created).
==== CI

== Contributing
* ci: bump actions/upload-artifact SHA to current v4 (#13)
* ci(antipattern): fix top-level dir matching + benchmarks/lsp/bench
filename allowlists (#9)
* ci(antipattern): TS check reads .claude/CLAUDE.md exemption table (#8)
* ci(antipattern): broaden TS allowlist (cli/, mod.ts, lsp-server,
_vscode_, deno-*) (#7)
* ci(antipattern): allowlist legit TS bridge/adapter paths (#6)

See [CONTRIBUTING.md](CONTRIBUTING.md) for how to contribute to this project.
=== Pre-history

== Links
Prior commits to this file’s introduction are recorded in git history
but not formally classified into Keep-a-Changelog sections. To backfill,
run `+git cliff -o CHANGELOG.md+` locally using the canonical
https://github.com/hyperpolymath/standards/blob/main/templates/cliff.toml[`+cliff.toml+`]
— this is one-shot mechanical work.

- [Repository](https://github.com/hyperpolymath/social-media-polygraph)
- [Issue Tracker](https://github.com/hyperpolymath/social-media-polygraph/issues)
- [Security Policy](SECURITY.md)
- [Code of Conduct](CODE_OF_CONDUCT.md)
'''''
50 changes: 0 additions & 50 deletions CHANGELOG.md

This file was deleted.

Loading
Loading