8 Commits
Author SHA1 Message Date
Donny cc0d80ba3a feat(ontology): 本体 spec 与跨引用校验
- pydantic 模型覆盖 entities/links/actions/functions/rules/constraints
- 跨引用校验:link.from/to 实体存在、rule.via 链路连得通且终点与 to 一致
- YAML 1.2 口径 loader:on/off/yes/no 不再被当成布尔(否则 on: Line 解析成 {True: Line})
- of 支持标量类型或实体名;属性支持 accepted: boolean 简写
- 19 条测试,其中 test_readme_example_loads 直接解析 README 里的 YAML
- dev 组补 types-pyyaml,mypy strict 通过
2026-11-05 02:36:25 +08:00
Donny e0bea0c54f docs: 已拍板第 6 条 — agtype 自研解析,测试样本须取自真实库 2026-11-05 02:31:24 +08:00
Donny f042452fe6 feat: 自研 agtype 解析与 psycopg3 loader
- graph/agtype.py:解析 ::vertex / ::edge / ::path 后缀,返回 Vertex/Edge/Path
- register_agtype() 直接查 ag_catalog.agtype 的 OID 注册 loader(TypeInfo.fetch 取不到)
- 18 条单元测试,样本全部从真实 AGE 库抓取;7 条畸形输入用例
- tests/test_agtype_live.py:连真库的集成测试,默认跳过(ADAPTER_TEST_DSN)
- AGENTS.md 技术栈表:图驱动改为自研解析,注明不用 apache-age-python 的原因
2026-11-05 02:30:11 +08:00
Donny ace505cc6b chore: 搭建项目骨架
- pyproject:hatchling + src 布局,核心依赖 psycopg/pydantic/pyyaml/cel-python
- FastAPI 归入 [api] 可选依赖,开发依赖走 PEP 735 dependency-groups
- 建立分层目录:ontology/compiler/storage/repository/graph/timeseries/expr/rules/api
- errors.py 统一异常基类;py.typed 标记类型完整
- ruff(100) + pytest 配置;冒烟测试校验核心包不引入 fastapi/uvicorn
2026-11-05 02:18:10 +08:00
Donny ecd5925b2c chore: 加 .gitattributes,仓库内统一 LF 2026-11-05 02:00:03 +08:00
Donny 33eb5d54f1 docs: 技术栈与工程约束写入 AGENTS.md,交付形态定为 pip 包
- 新增 AGENTS.md:技术栈选型、五条架构决策、硬规则、目录、命令、测试策略
- 明确不提供独立 HTTP 服务:核心包禁止 fastapi,路由由宿主 include_router 挂载
- README 同步:集成方式改为纯库/挂路由/嵌入式三种,FastAPI 列为 [api] 可选依赖
- 非目标补充“不做独立服务”
2026-11-05 01:58:19 +08:00
Donny be472a70ea docs: 补充 adapter 的定位与本体契约
- 明确这是架构在 ontology 数据基座上的中间层:YAML 定义实体/关系/属性/行为
- 给出完整本体示例(entities/links/actions/functions/rules/constraints)
- 说明存储映射:JSONB 文档 + AGE 图 + TimescaleDB 时序同库
- 定义写入(文档/时序)、查询(SQL/图/推理)与对外语义接口
- 列出集成方式、非目标与分阶段路线
2026-11-05 01:47:08 +08:00
donnyzhang 3c41508bb5 Initial commit 2026-11-05 01:25:48 +08:00