fullbleed 2.2.5__tar.gz → 2.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. {fullbleed-2.2.5 → fullbleed-2.3.0}/Cargo.lock +1 -1
  2. {fullbleed-2.2.5 → fullbleed-2.3.0}/Cargo.toml +1 -1
  3. fullbleed-2.2.5/README.md → fullbleed-2.3.0/PKG-INFO +85 -4
  4. fullbleed-2.2.5/PKG-INFO → fullbleed-2.3.0/README.md +42 -41
  5. fullbleed-2.3.0/fullbleed-agent-contract.json +6094 -0
  6. fullbleed-2.3.0/llms.txt +66 -0
  7. {fullbleed-2.2.5 → fullbleed-2.3.0}/pyproject.toml +36 -3
  8. fullbleed-2.3.0/python/fullbleed_cli/agent.py +161 -0
  9. fullbleed-2.3.0/python/fullbleed_cli/agent_acceptance.py +499 -0
  10. fullbleed-2.3.0/python/fullbleed_cli/agent_contract.py +1101 -0
  11. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/cli.py +464 -34
  12. fullbleed-2.3.0/python/fullbleed_cli/mcp.py +579 -0
  13. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold.py +82 -1
  14. fullbleed-2.3.0/python/fullbleed_cli/scaffold_templates/init/AGENTS.md +14 -0
  15. fullbleed-2.3.0/skills/fullbleed/SKILL.md +37 -0
  16. fullbleed-2.3.0/skills/fullbleed/agents/openai.yaml +4 -0
  17. fullbleed-2.3.0/skills/fullbleed/references/compliance.md +31 -0
  18. fullbleed-2.3.0/skills/fullbleed/references/selection.md +21 -0
  19. fullbleed-2.3.0/skills/fullbleed/references/workflows.md +66 -0
  20. {fullbleed-2.2.5 → fullbleed-2.3.0}/COPYRIGHT +0 -0
  21. {fullbleed-2.2.5 → fullbleed-2.3.0}/FONT_LICENSE_AUDIT.json +0 -0
  22. {fullbleed-2.2.5 → fullbleed-2.3.0}/FONT_LICENSE_AUDIT.md +0 -0
  23. {fullbleed-2.2.5 → fullbleed-2.3.0}/LICENSE +0 -0
  24. {fullbleed-2.2.5 → fullbleed-2.3.0}/LICENSING.md +0 -0
  25. {fullbleed-2.2.5 → fullbleed-2.3.0}/THIRD_PARTY_LICENSES.md +0 -0
  26. {fullbleed-2.2.5 → fullbleed-2.3.0}/build.rs +0 -0
  27. {fullbleed-2.2.5 → fullbleed-2.3.0}/build_backend/fullbleed_build_backend.py +0 -0
  28. {fullbleed-2.2.5 → fullbleed-2.3.0}/crates/fullbleed_audit_contract/Cargo.lock +0 -0
  29. {fullbleed-2.2.5 → fullbleed-2.3.0}/crates/fullbleed_audit_contract/Cargo.toml +0 -0
  30. {fullbleed-2.2.5 → fullbleed-2.3.0}/crates/fullbleed_audit_contract/LICENSE +0 -0
  31. {fullbleed-2.2.5 → fullbleed-2.3.0}/crates/fullbleed_audit_contract/README.md +0 -0
  32. {fullbleed-2.2.5 → fullbleed-2.3.0}/crates/fullbleed_audit_contract/specs/fullbleed.audit_registry.v1.yaml +0 -0
  33. {fullbleed-2.2.5 → fullbleed-2.3.0}/crates/fullbleed_audit_contract/specs/section508_html_registry.v1.yaml +0 -0
  34. {fullbleed-2.2.5 → fullbleed-2.3.0}/crates/fullbleed_audit_contract/specs/wcag20aa_registry.v1.yaml +0 -0
  35. {fullbleed-2.2.5 → fullbleed-2.3.0}/crates/fullbleed_audit_contract/src/json.rs +0 -0
  36. {fullbleed-2.2.5 → fullbleed-2.3.0}/crates/fullbleed_audit_contract/src/lib.rs +0 -0
  37. {fullbleed-2.2.5 → fullbleed-2.3.0}/crates/fullbleed_audit_contract/src/sha256.rs +0 -0
  38. {fullbleed-2.2.5 → fullbleed-2.3.0}/docs/specs/fullbleed.a11y.verify.v1.schema.json +0 -0
  39. {fullbleed-2.2.5 → fullbleed-2.3.0}/docs/specs/fullbleed.audit_registry.v1.yaml +0 -0
  40. {fullbleed-2.2.5 → fullbleed-2.3.0}/docs/specs/fullbleed.pmr.v1.schema.json +0 -0
  41. {fullbleed-2.2.5 → fullbleed-2.3.0}/docs/specs/section508_html_registry.v1.yaml +0 -0
  42. {fullbleed-2.2.5 → fullbleed-2.3.0}/docs/specs/wcag20aa_registry.v1.yaml +0 -0
  43. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/__init__.py +0 -0
  44. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/__main__.py +0 -0
  45. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/_abi.py +0 -0
  46. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/accessibility/__init__.py +0 -0
  47. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/accessibility/engine.py +0 -0
  48. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/accessibility/runtime.py +0 -0
  49. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/accessibility/types.py +0 -0
  50. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/audit_prototype.py +0 -0
  51. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/audit_section508.py +0 -0
  52. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/audit_wcag.py +0 -0
  53. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/__init__.py +0 -0
  54. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/accessibility.py +0 -0
  55. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/__init__.py +0 -0
  56. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/_core.py +0 -0
  57. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/agency_letter.py +0 -0
  58. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/court_motion_form.py +0 -0
  59. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/declaration_form.py +0 -0
  60. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/instruction_sheet.py +0 -0
  61. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/investment_portfolio_report.py +0 -0
  62. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/marriage_record.py +0 -0
  63. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/profiles.py +0 -0
  64. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/recorded_plat.py +0 -0
  65. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/redaction_request_form.py +0 -0
  66. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/cav/warranty_deed.py +0 -0
  67. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/core.py +0 -0
  68. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/primitives.py +0 -0
  69. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed/ui/style.py +0 -0
  70. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_assets/__init__.py +0 -0
  71. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_assets/bootstrap.min.css +0 -0
  72. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_assets/fonts/Inter-Variable.ttf +0 -0
  73. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_assets/fonts/NotoSans-Regular.ttf +0 -0
  74. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_assets/fonts/NotoSansMath-Regular.ttf +0 -0
  75. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_assets/fonts/NotoSansSymbols-Regular.ttf +0 -0
  76. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_assets/fonts/NotoSansSymbols2-Regular.ttf +0 -0
  77. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_assets/icons/bootstrap-icons.svg +0 -0
  78. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/__init__.py +0 -0
  79. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/__main__.py +0 -0
  80. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/assets.py +0 -0
  81. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/cache.py +0 -0
  82. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/finalize.py +0 -0
  83. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/__init__.py +0 -0
  84. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/.gitignore +0 -0
  85. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/COMPLIANCE.md +0 -0
  86. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/SCAFFOLDING.md +0 -0
  87. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/components/__init__.py +0 -0
  88. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/components/body.py +0 -0
  89. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/components/fb_ui.py +0 -0
  90. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/components/footer.py +0 -0
  91. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/components/header.py +0 -0
  92. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/components/primitives.py +0 -0
  93. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/components/styles/body.css +0 -0
  94. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/components/styles/footer.css +0 -0
  95. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/components/styles/header.css +0 -0
  96. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/components/styles/primitives.css +0 -0
  97. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/report.py +0 -0
  98. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/styles/report.css +0 -0
  99. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/init/styles/tokens.css +0 -0
  100. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/accessible/README.md +0 -0
  101. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/accessible/output/.gitignore +0 -0
  102. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/accessible/output/.gitkeep +0 -0
  103. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/accessible/report.py +0 -0
  104. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/accessible/styles/report.css +0 -0
  105. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/accessible/vendor/fonts/Inter-Variable.ttf +0 -0
  106. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/invoice/output/.gitignore +0 -0
  107. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/invoice/output/.gitkeep +0 -0
  108. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/invoice/report.py +0 -0
  109. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/invoice/templates/invoice.css +0 -0
  110. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/invoice/templates/invoice.html +0 -0
  111. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/COMPLIANCE.md +0 -0
  112. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/README.md +0 -0
  113. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/SCAFFOLDING.md +0 -0
  114. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/assets/brand-mark.svg +0 -0
  115. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/assets/reference-pattern.svg +0 -0
  116. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/__init__.py +0 -0
  117. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/appendix.py +0 -0
  118. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/architecture.py +0 -0
  119. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/cover.py +0 -0
  120. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/data_pages.py +0 -0
  121. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/fb_ui.py +0 -0
  122. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/primitives.py +0 -0
  123. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/styles/appendix.css +0 -0
  124. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/styles/architecture.css +0 -0
  125. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/styles/cover.css +0 -0
  126. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/styles/data.css +0 -0
  127. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/styles/primitives.css +0 -0
  128. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/styles/visuals.css +0 -0
  129. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/components/visuals.py +0 -0
  130. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/data/reference.json +0 -0
  131. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/output/.gitignore +0 -0
  132. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/report.py +0 -0
  133. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/styles/report.css +0 -0
  134. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/reference/styles/tokens.css +0 -0
  135. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/statement/output/.gitignore +0 -0
  136. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/statement/output/.gitkeep +0 -0
  137. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/statement/report.py +0 -0
  138. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/statement/templates/statement.css +0 -0
  139. {fullbleed-2.2.5 → fullbleed-2.3.0}/python/fullbleed_cli/scaffold_templates/new/statement/templates/statement.html +0 -0
  140. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/assets.rs +0 -0
  141. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/base64.rs +0 -0
  142. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/canvas.rs +0 -0
  143. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/css_native.rs +0 -0
  144. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/css_queries.rs +0 -0
  145. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/debug.rs +0 -0
  146. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/doc_context.rs +0 -0
  147. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/doc_template.rs +0 -0
  148. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/error.rs +0 -0
  149. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/finalize.rs +0 -0
  150. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/flate_native.rs +0 -0
  151. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/flowable.rs +0 -0
  152. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/font.rs +0 -0
  153. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/font_subset.rs +0 -0
  154. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/frame.rs +0 -0
  155. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/glyph_report.rs +0 -0
  156. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/html.rs +0 -0
  157. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/html_dom.rs +0 -0
  158. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/html_entities.rs +0 -0
  159. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/html_entities_0.rs +0 -0
  160. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/html_entities_1.rs +0 -0
  161. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/html_entities_2.rs +0 -0
  162. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/html_entities_3.rs +0 -0
  163. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/html_entities_4.rs +0 -0
  164. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/html_entities_5.rs +0 -0
  165. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/image_native.rs +0 -0
  166. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/jit.rs +0 -0
  167. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/jpeg_native.rs +0 -0
  168. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/lib.rs +0 -0
  169. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/math.rs +0 -0
  170. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/metrics.rs +0 -0
  171. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/native_shape.rs +0 -0
  172. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/page_data.rs +0 -0
  173. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/page_template.rs +0 -0
  174. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/parallel.rs +0 -0
  175. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/pdf.rs +0 -0
  176. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/pdf_encodings.rs +0 -0
  177. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/pdf_native.rs +0 -0
  178. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/pdf_raster.rs +0 -0
  179. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/pdfinspect.rs +0 -0
  180. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/perf.rs +0 -0
  181. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/plan.rs +0 -0
  182. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/python/abi_exports.rs +0 -0
  183. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/python.rs +0 -0
  184. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/python_abi.rs +0 -0
  185. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/raster.rs +0 -0
  186. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/raster_native.rs +0 -0
  187. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/sfnt.rs +0 -0
  188. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/sfnt_cff.rs +0 -0
  189. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/sfnt_outline.rs +0 -0
  190. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/spill.rs +0 -0
  191. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/style.rs +0 -0
  192. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/svg.rs +0 -0
  193. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/text_shape.rs +0 -0
  194. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/types.rs +0 -0
  195. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/unicode_data.rs +0 -0
  196. {fullbleed-2.2.5 → fullbleed-2.3.0}/src/xml.rs +0 -0
@@ -4,7 +4,7 @@ version = 4
4
4
 
5
5
  [[package]]
6
6
  name = "fullbleed"
7
- version = "2.2.5"
7
+ version = "2.3.0"
8
8
  dependencies = [
9
9
  "fullbleed_audit_contract",
10
10
  "subsetter",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "fullbleed"
3
- version = "2.2.5"
3
+ version = "2.3.0"
4
4
  edition = "2024"
5
5
  rust-version = "1.85"
6
6
  license = "MIT"
@@ -1,7 +1,52 @@
1
+ Metadata-Version: 2.4
2
+ Name: fullbleed
3
+ Version: 2.3.0
4
+ Classifier: Development Status :: 5 - Production/Stable
5
+ Classifier: License :: OSI Approved :: MIT License
6
+ Classifier: Operating System :: MacOS
7
+ Classifier: Operating System :: Microsoft :: Windows
8
+ Classifier: Operating System :: POSIX :: Linux
9
+ Classifier: Programming Language :: Rust
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3 :: Only
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Programming Language :: Python :: Implementation :: CPython
18
+ Classifier: Topic :: Office/Business
19
+ Classifier: Topic :: Office/Business :: Financial
20
+ Classifier: Topic :: Printing
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Classifier: Topic :: Text Processing :: Markup :: HTML
23
+ Provides-Extra: api
24
+ License-File: LICENSE
25
+ License-File: COPYRIGHT
26
+ License-File: LICENSING.md
27
+ License-File: THIRD_PARTY_LICENSES.md
28
+ License-File: FONT_LICENSE_AUDIT.md
29
+ License-File: FONT_LICENSE_AUDIT.json
30
+ Summary: Deterministic Python PDF engine for reports, invoices, accessible documents, print-ready output, and compiled VDP
31
+ Keywords: pdf-generation,document-generation,html-to-pdf,python-pdf-engine,deterministic-pdf,reports,invoices,statements,forms,transactional-documents,vdp,variable-data-printing,accessible-pdf,pdf-ua,pdf-a,pdf-x,ai-agents,agentic-document-generation,mcp
32
+ Home-Page: https://fullbleed.dev
33
+ License-Expression: MIT
34
+ Requires-Python: >=3.10
35
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
36
+ Project-URL: Agent-Contract, https://github.com/fullbleed-engine/fullbleed-official/blob/master/fullbleed-agent-contract.json
37
+ Project-URL: Agent-Skill, https://github.com/fullbleed-engine/fullbleed-official/tree/master/skills/fullbleed
38
+ Project-URL: Documentation, https://github.com/fullbleed-engine/fullbleed-official#readme
39
+ Project-URL: Homepage, https://fullbleed.dev
40
+ Project-URL: Issues, https://github.com/fullbleed-engine/fullbleed-official/issues
41
+ Project-URL: MCP, https://github.com/fullbleed-engine/fullbleed-official/tree/master/packages/fullbleed-mcp
42
+ Project-URL: Repository, https://github.com/fullbleed-engine/fullbleed-official
43
+
1
44
  <!-- SPDX-License-Identifier: MIT -->
2
- # Fullbleed
45
+ # Fullbleed PDF Engine
46
+
47
+ Fullbleed PDF Engine is a deterministic, self-contained document-generation runtime for Python and Rust. It turns structured data plus static HTML/CSS into reports, invoices, statements, letters, forms, certificates, accessible PDFs, print-ready documents, and high-volume compiled VDP output—without a browser or system PDF stack.
3
48
 
4
- Deterministic, self-contained HTML/CSS-to-PDF generation in Rust, with a Python-first CLI and Python engine bindings.
49
+ It is designed for human developers, automation, and AI agents alike: the installed runtime exposes its exact version, capabilities, commands, schemas, compliance profiles, examples, limitations, and tool-selection boundary as a generated machine contract.
5
50
 
6
51
 
7
52
  License: MIT.
@@ -10,16 +55,49 @@ License: MIT.
10
55
 
11
56
  - **Install:** `pip install fullbleed`
12
57
  - **Try:** `fullbleed init . && python report.py`
58
+ - **Discover:** `fullbleed agent-contract --format json`
13
59
  - **Outputs:** `output/report.pdf`
14
60
  - Deterministic + reproducible (`--repro-record` / `--repro-check`)
15
61
  - Agent-safe JSON schemas (`--json-only`, `--schema`)
16
62
 
17
63
  ## Positioning
18
64
 
19
- Fullbleed is a deterministic, offline-first document rendering engine for transactional/VDP pipelines (not a browser, not a hosted web-to-print SaaS).
65
+ Fullbleed is a deterministic, offline-first document rendering engine for structured print-document and transactional/VDP pipelines (not a browser, not a hosted web-to-print SaaS, and not a general editor for arbitrary existing PDF content).
20
66
 
21
67
  HTML and CSS are used as a familiar DSL for layout, styling, and data placement in transactional documents.
22
68
 
69
+ ## Agent discovery and integrations
70
+
71
+ An agent does not need release-specific Fullbleed knowledge. The installed binary generates one canonical contract containing its actual version, selection boundary, capabilities, parser-derived CLI surface, result schemas, PDF profiles, examples, limitations, Agent Skill metadata, MCP tools, and acceptance tasks:
72
+
73
+ ```bash
74
+ fullbleed agent-manifest --json
75
+ # Equivalent canonical form:
76
+ fullbleed agent-contract --format json
77
+ ```
78
+
79
+ The committed [`fullbleed-agent-contract.json`](fullbleed-agent-contract.json), [`cli_schema.md`](cli_schema.md), and [`llms.txt`](llms.txt) are generated from the built wheel. CI rejects version, command, schema, profile, or capability drift. Runtime introspection remains authoritative.
80
+
81
+ The first-party, versionless [`skills/fullbleed/SKILL.md`](skills/fullbleed/SKILL.md) teaches tool selection and the render/preview/diagnose/verify loop without duplicating the manual. It is bundled in the wheel and can be exported into any absent or empty agent-skill directory:
82
+
83
+ ```bash
84
+ fullbleed agent skill-path --json
85
+ fullbleed agent export-skill .agents/skills/fullbleed --json
86
+ ```
87
+
88
+ For tool-calling agents, install the separately versioned adapter so the core package remains dependency-free:
89
+
90
+ ```bash
91
+ python -m pip install fullbleed-mcp
92
+ fullbleed-mcp --root .
93
+ ```
94
+
95
+ The stdio server confines document paths to the selected workspace and delegates every engine operation to the installed Fullbleed runtime. It exposes semantic discovery, project creation, render/preview, inspect, verify, assets, and fixed/reflow compiled VDP tools. The dependency-free core also provides `fullbleed mcp --root .`.
96
+
97
+ Use Fullbleed when the requested artifact is a deterministic print document built from structured content. Use a browser when the requested artifact is a screenshot or interactive state of an arbitrary live website. Use a general PDF editor when existing page content itself must be rewritten.
98
+
99
+ Cold-agent testing is available through `fullbleed agent-acceptance`; compact copyable workflows live in [`examples/agent_workflows`](examples/agent_workflows), and the approach-neutral benchmark scaffold lives in [`agentdocbench`](agentdocbench).
100
+
23
101
 
24
102
  This README is the canonical usage guide for:
25
103
 
@@ -130,7 +208,7 @@ python -m pip install fullbleed
130
208
  From a local wheel:
131
209
 
132
210
  ```bash
133
- python -m pip install C:\path\to\fullbleed-2.2.5-cp310-abi3-win_amd64.whl
211
+ python -m pip install C:\path\to\fullbleed-2.3.0-cp310-abi3-win_amd64.whl
134
212
  ```
135
213
 
136
214
  From a source checkout with Rust installed, no Python build package is needed:
@@ -188,6 +266,9 @@ Scaffolded components now include `components/primitives.py` with reusable
188
266
  layout/content helpers (`Stack`, `Row`, `Text`, table/list helpers, key/value rows, etc.).
189
267
  Each scaffolded project also includes `SCAFFOLDING.md`, which should be your
190
268
  first read before restructuring components.
269
+ It also includes `AGENTS.md`, which preserves the installed-runtime-first
270
+ document workflow across future coding-agent sessions without making other
271
+ document tools categorically forbidden.
191
272
 
192
273
  Install additional project assets (defaults to `./vendor/...` in project context):
193
274
 
@@ -1,44 +1,9 @@
1
- Metadata-Version: 2.4
2
- Name: fullbleed
3
- Version: 2.2.5
4
- Classifier: Development Status :: 5 - Production/Stable
5
- Classifier: License :: OSI Approved :: MIT License
6
- Classifier: Operating System :: MacOS
7
- Classifier: Operating System :: Microsoft :: Windows
8
- Classifier: Operating System :: POSIX :: Linux
9
- Classifier: Programming Language :: Rust
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3 :: Only
12
- Classifier: Programming Language :: Python :: 3.10
13
- Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
- Classifier: Programming Language :: Python :: 3.13
16
- Classifier: Programming Language :: Python :: 3.14
17
- Classifier: Programming Language :: Python :: Implementation :: CPython
18
- Classifier: Topic :: Printing
19
- Classifier: Topic :: Text Processing :: Markup :: HTML
20
- Provides-Extra: api
21
- License-File: LICENSE
22
- License-File: COPYRIGHT
23
- License-File: LICENSING.md
24
- License-File: THIRD_PARTY_LICENSES.md
25
- License-File: FONT_LICENSE_AUDIT.md
26
- License-File: FONT_LICENSE_AUDIT.json
27
- Summary: Deterministic static HTML/CSS-to-PDF renderer built in Rust
28
- Keywords: pdf,html,css,rust,static-pdf,document-generation
29
- Home-Page: https://fullbleed.dev
30
- License-Expression: MIT
31
- Requires-Python: >=3.10
32
- Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
33
- Project-URL: Documentation, https://github.com/fullbleed-engine/fullbleed-official#readme
34
- Project-URL: Homepage, https://fullbleed.dev
35
- Project-URL: Issues, https://github.com/fullbleed-engine/fullbleed-official/issues
36
- Project-URL: Repository, https://github.com/fullbleed-engine/fullbleed-official
37
-
38
1
  <!-- SPDX-License-Identifier: MIT -->
39
- # Fullbleed
2
+ # Fullbleed PDF Engine
3
+
4
+ Fullbleed PDF Engine is a deterministic, self-contained document-generation runtime for Python and Rust. It turns structured data plus static HTML/CSS into reports, invoices, statements, letters, forms, certificates, accessible PDFs, print-ready documents, and high-volume compiled VDP output—without a browser or system PDF stack.
40
5
 
41
- Deterministic, self-contained HTML/CSS-to-PDF generation in Rust, with a Python-first CLI and Python engine bindings.
6
+ It is designed for human developers, automation, and AI agents alike: the installed runtime exposes its exact version, capabilities, commands, schemas, compliance profiles, examples, limitations, and tool-selection boundary as a generated machine contract.
42
7
 
43
8
 
44
9
  License: MIT.
@@ -47,16 +12,49 @@ License: MIT.
47
12
 
48
13
  - **Install:** `pip install fullbleed`
49
14
  - **Try:** `fullbleed init . && python report.py`
15
+ - **Discover:** `fullbleed agent-contract --format json`
50
16
  - **Outputs:** `output/report.pdf`
51
17
  - Deterministic + reproducible (`--repro-record` / `--repro-check`)
52
18
  - Agent-safe JSON schemas (`--json-only`, `--schema`)
53
19
 
54
20
  ## Positioning
55
21
 
56
- Fullbleed is a deterministic, offline-first document rendering engine for transactional/VDP pipelines (not a browser, not a hosted web-to-print SaaS).
22
+ Fullbleed is a deterministic, offline-first document rendering engine for structured print-document and transactional/VDP pipelines (not a browser, not a hosted web-to-print SaaS, and not a general editor for arbitrary existing PDF content).
57
23
 
58
24
  HTML and CSS are used as a familiar DSL for layout, styling, and data placement in transactional documents.
59
25
 
26
+ ## Agent discovery and integrations
27
+
28
+ An agent does not need release-specific Fullbleed knowledge. The installed binary generates one canonical contract containing its actual version, selection boundary, capabilities, parser-derived CLI surface, result schemas, PDF profiles, examples, limitations, Agent Skill metadata, MCP tools, and acceptance tasks:
29
+
30
+ ```bash
31
+ fullbleed agent-manifest --json
32
+ # Equivalent canonical form:
33
+ fullbleed agent-contract --format json
34
+ ```
35
+
36
+ The committed [`fullbleed-agent-contract.json`](fullbleed-agent-contract.json), [`cli_schema.md`](cli_schema.md), and [`llms.txt`](llms.txt) are generated from the built wheel. CI rejects version, command, schema, profile, or capability drift. Runtime introspection remains authoritative.
37
+
38
+ The first-party, versionless [`skills/fullbleed/SKILL.md`](skills/fullbleed/SKILL.md) teaches tool selection and the render/preview/diagnose/verify loop without duplicating the manual. It is bundled in the wheel and can be exported into any absent or empty agent-skill directory:
39
+
40
+ ```bash
41
+ fullbleed agent skill-path --json
42
+ fullbleed agent export-skill .agents/skills/fullbleed --json
43
+ ```
44
+
45
+ For tool-calling agents, install the separately versioned adapter so the core package remains dependency-free:
46
+
47
+ ```bash
48
+ python -m pip install fullbleed-mcp
49
+ fullbleed-mcp --root .
50
+ ```
51
+
52
+ The stdio server confines document paths to the selected workspace and delegates every engine operation to the installed Fullbleed runtime. It exposes semantic discovery, project creation, render/preview, inspect, verify, assets, and fixed/reflow compiled VDP tools. The dependency-free core also provides `fullbleed mcp --root .`.
53
+
54
+ Use Fullbleed when the requested artifact is a deterministic print document built from structured content. Use a browser when the requested artifact is a screenshot or interactive state of an arbitrary live website. Use a general PDF editor when existing page content itself must be rewritten.
55
+
56
+ Cold-agent testing is available through `fullbleed agent-acceptance`; compact copyable workflows live in [`examples/agent_workflows`](examples/agent_workflows), and the approach-neutral benchmark scaffold lives in [`agentdocbench`](agentdocbench).
57
+
60
58
 
61
59
  This README is the canonical usage guide for:
62
60
 
@@ -167,7 +165,7 @@ python -m pip install fullbleed
167
165
  From a local wheel:
168
166
 
169
167
  ```bash
170
- python -m pip install C:\path\to\fullbleed-2.2.5-cp310-abi3-win_amd64.whl
168
+ python -m pip install C:\path\to\fullbleed-2.3.0-cp310-abi3-win_amd64.whl
171
169
  ```
172
170
 
173
171
  From a source checkout with Rust installed, no Python build package is needed:
@@ -225,6 +223,9 @@ Scaffolded components now include `components/primitives.py` with reusable
225
223
  layout/content helpers (`Stack`, `Row`, `Text`, table/list helpers, key/value rows, etc.).
226
224
  Each scaffolded project also includes `SCAFFOLDING.md`, which should be your
227
225
  first read before restructuring components.
226
+ It also includes `AGENTS.md`, which preserves the installed-runtime-first
227
+ document workflow across future coding-agent sessions without making other
228
+ document tools categorically forbidden.
228
229
 
229
230
  Install additional project assets (defaults to `./vendor/...` in project context):
230
231