1
0
Fork 0
Code Issues Pull requests Projects Releases 2 Packages Wiki Activity Actions Pages

Add durable portable graph publication

This commit is contained in:
Andraxion 2026-07-29 11:37:33 -04:00
parent 96e3965855
commit 1134c2d375
19 changed files with 2542 additions and 13 deletions

View file

@ -8,12 +8,14 @@ from pathlib import Path
from jsonschema import Draft202012Validator
from docforge.errors import DocForgeError
from docforge.graph_projection import build_graph_projection_package
from docforge.projection_contract import (
GraphViewPlanV1,
ManualRenderPlanV1,
ProjectionPackageV1,
ProjectionReceiptV1,
)
from docforge_renderers.graph import PortableGraphHtmlRenderer
ROOT = Path(__file__).resolve().parents[1]
SCHEMAS = ROOT / "schemas"
@ -220,6 +222,14 @@ class ProjectionSchemaTests(unittest.TestCase):
graph_package = self.package(self.graph_plan()).as_dict()
self.validator("projection-package.schema.json").validate(graph_package)
typed_graph_package = build_graph_projection_package(
self.graph_plan(),
renderer_id=PortableGraphHtmlRenderer.renderer_id,
renderer_version=PortableGraphHtmlRenderer.renderer_version,
max_output_bytes=1_000_000,
)
graph_receipt = PortableGraphHtmlRenderer().render(typed_graph_package).receipt.as_dict()
self.validator("projection-receipt.schema.json").validate(graph_receipt)
def test_unknown_fields_are_rejected_at_contract_boundaries(self) -> None:
cases = (