Files
EverOS/src/everos/infra/persistence/markdown/readers/foresight_reader.py
Elliot Chen 518b8eca85 chore: initialize EverOS 1.0.0
md-first memory extraction framework for AI agents.

Markdown is the single source of truth; SQLite holds state and LanceDB
provides the rebuildable vector + BM25 + scalar index. The codebase follows
a single-direction DDD layering (entrypoints -> service -> memory -> infra,
with component / core / config cross-cutting) enforced by import-linter.

Engineering surface:
- Coding conventions in .claude/rules/ (path-scoped) and workflows in
  .claude/skills/ (/commit, /new-branch, /pr).
- GitHub Actions CI runs make lint + test + integration; pre-commit mirrors
  the gates locally (ruff, hygiene hooks, gitlint commit-msg).
- Commit messages follow Conventional Commits, enforced by gitlint.
- make lint also enforces datetime two-zone discipline and OpenAPI drift.
2026-06-06 07:33:17 +08:00

32 lines
857 B
Python

"""Foresight daily-log reader — symmetric with :class:`ForesightWriter`."""
from __future__ import annotations
import datetime as _dt
from pathlib import Path
from everos.core.persistence import MemoryRoot
from ..mds import ForesightDailyFrontmatter
from .base import BaseDailyReader
class ForesightReader(BaseDailyReader):
"""Read foresight daily-log files."""
schema = ForesightDailyFrontmatter
def __init__(self, root: MemoryRoot) -> None:
super().__init__(root)
def path_for(
self,
owner_id: str,
date: _dt.date | None = None,
*,
app_id: str = "default",
project_id: str = "default",
) -> Path:
"""Resolve the foresight daily-log path under the <app>/<project> prefix."""
return super().path_for(owner_id, date, app_id=app_id, project_id=project_id)