odibi-anchor 0.1.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.
- odibi_anchor-0.1.0/.assistant/README.md +23 -0
- odibi_anchor-0.1.0/.assistant/agent_bootstrap.py +125 -0
- odibi_anchor-0.1.0/.assistant/references/INDEX.md +73 -0
- odibi_anchor-0.1.0/.assistant/references/assurance/standards-overlays.md +252 -0
- odibi_anchor-0.1.0/.assistant/references/databricks-apps/mcp-integration-troubleshooting.md +263 -0
- odibi_anchor-0.1.0/.assistant/references/development/assurance-kernel.md +94 -0
- odibi_anchor-0.1.0/.assistant/references/development/code-standards-data-platform.md +115 -0
- odibi_anchor-0.1.0/.assistant/references/development/code-standards-python.md +48 -0
- odibi_anchor-0.1.0/.assistant/references/development/code-standards.md +110 -0
- odibi_anchor-0.1.0/.assistant/references/development/file-editing.md +175 -0
- odibi_anchor-0.1.0/.assistant/references/lifecycle/anti-rationalization.md +129 -0
- odibi_anchor-0.1.0/.assistant/references/lifecycle/compliance-gates.md +176 -0
- odibi_anchor-0.1.0/.assistant/references/lifecycle/self-review.md +155 -0
- odibi_anchor-0.1.0/.assistant/references/lifecycle/thread-discipline.md +229 -0
- odibi_anchor-0.1.0/.assistant/references/lifecycle/verify-every-edit.md +47 -0
- odibi_anchor-0.1.0/.assistant/references/lifecycle/when-to-ask.md +195 -0
- odibi_anchor-0.1.0/.assistant/references/odibi-anchor/actions.md +266 -0
- odibi_anchor-0.1.0/.assistant/references/odibi-anchor/capture-examples.md +52 -0
- odibi_anchor-0.1.0/.assistant/references/odibi-anchor/capture-routing.md +36 -0
- odibi_anchor-0.1.0/.assistant/references/odibi-anchor/capture-standards.md +76 -0
- odibi_anchor-0.1.0/.assistant/references/odibi-anchor/quick-reference.md +211 -0
- odibi_anchor-0.1.0/.assistant/references/odibi-anchor/workflow.md +925 -0
- odibi_anchor-0.1.0/.assistant/references/registry.json +320 -0
- odibi_anchor-0.1.0/.assistant/references/reviewing/independent-pr-review.md +121 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/LICENSE +28 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/altair/vegalite/api.py.txt +2 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/altair/vegalite/schema.py.txt +4 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/altair/vegalite/v6/schema/channels.py.txt +22550 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/altair/vegalite/v6/schema/core.py.txt +28013 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/altair/vegalite/v6/schema/mixins.py.txt +1598 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/altair/vegalite/v6/schema/vega-lite-schema.json +32460 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/index.rst +69 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/encodings/channel_options.rst +114 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/encodings/channels.rst +193 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/encodings/index.rst +634 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/interactions/bindings_widgets.rst +392 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/interactions/expressions.rst +193 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/interactions/index.rst +48 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/interactions/jupyter_chart.rst +456 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/interactions/parameters.rst +788 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/arc.rst +126 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/area.rst +189 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/bar.rst +156 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/boxplot.rst +112 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/circle.rst +34 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/errorband.rst +171 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/errorbar.rst +252 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/geoshape.rst +650 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/image.rst +192 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/index.rst +106 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/line.rst +364 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/point.rst +213 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/rect.rst +91 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/rule.rst +198 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/square.rst +28 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/text.rst +243 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/tick.rst +62 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/marks/trail.rst +70 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/aggregate.rst +232 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/bin.rst +94 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/calculate.rst +63 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/density.rst +59 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/extent.rst +53 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/filter.rst +222 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/flatten.rst +65 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/fold.rst +48 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/impute.rst +130 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/index.rst +138 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/joinaggregate.rst +74 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/loess.rst +41 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/lookup.rst +130 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/pivot.rst +74 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/quantile.rst +35 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/regression.rst +53 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/sample.rst +39 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/stack.rst +57 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/timeunit.rst +108 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/altair-6.2.2/doc/user_guide/transform/window.rst +105 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/deneb-1.9.1/CHANGELOG.md +209 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/deneb-1.9.1/LICENSE +21 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/deneb-1.9.1/README.md +5 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/deneb-1.9.1/capabilities.json +359 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/deneb-1.9.1/packages/vega-runtime/src/lib/embed/index.ts +45 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/deneb-1.9.1/pbiviz.json +24 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/manifest.json +1418 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/LICENSE +21 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/aliases.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/annotated_handlers.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/base_model.md +31 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/config.md +12 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/dataclasses.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/errors.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/experimental.md +15 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/fields.md +17 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/functional_serializers.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/functional_validators.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/json_schema.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/networks.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_core.md +29 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_core_schema.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_color.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_coordinate.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_country.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_currency_code.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_isbn.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_language_code.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_mac_address.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_payment.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_pendulum_dt.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_phone_numbers.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_routing_numbers.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_script_code.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_semantic_version.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_timezone_name.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_extra_types_ulid.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/pydantic_settings.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/root_model.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/standard_library_types.md +1523 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/type_adapter.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/types.md +4 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/validate_call.md +1 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/api/version.md +7 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/alias.md +433 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/config.md +241 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/conversion_table.md +19 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/dataclasses.md +457 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/experimental.md +542 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/fields.md +920 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/forward_annotations.md +237 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/json.md +214 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/json_schema.md +1379 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/models.md +1761 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/performance.md +211 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/pydantic_settings.md +9 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/serialization.md +960 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/strict_mode.md +176 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/type_adapter.md +124 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/types.md +976 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/unions.md +640 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/validation_decorator.md +414 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/concepts/validators.md +918 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/errors/errors.md +283 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/errors/usage_errors.md +1394 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/errors/validation_errors.md +2314 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/internals/architecture.md +223 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/internals/resolving_annotations.md +266 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/pydantic-2.13.4/docs/migration.md +1171 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/LICENSE +27 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/api/debugging.md +97 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/api/extensibility.md +145 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/api/locale.md +81 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/api/parser.md +23 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/api/statistics.md +311 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/api/time.md +181 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/api/util.md +576 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/api/view.md +514 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/arc.md +26 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/area.md +22 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/group.md +26 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/image.md +24 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/line.md +23 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/path.md +22 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/rect.md +23 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/rule.md +13 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/shape.md +17 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/symbol.md +21 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/text.md +37 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/marks/trail.md +20 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/aggregate.md +140 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/bin.md +56 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/collect.md +73 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/contour.md +42 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/countpattern.md +50 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/cross.md +57 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/crossfilter.md +86 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/density.md +100 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/dotbin.md +31 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/extent.md +22 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/filter.md +27 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/flatten.md +103 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/fold.md +46 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/force.md +168 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/formula.md +30 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/geojson.md +39 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/geopath.md +33 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/geopoint.md +31 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/geoshape.md +33 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/graticule.md +33 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/heatmap.md +76 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/identifier.md +39 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/impute.md +52 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/isocontour.md +43 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/joinaggregate.md +77 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/kde.md +35 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/kde2d.md +40 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/label.md +78 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/linkpath.md +48 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/loess.md +33 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/lookup.md +90 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/nest.md +85 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/pack.md +37 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/partition.md +37 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/pie.md +35 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/pivot.md +62 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/project.md +59 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/quantile.md +33 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/regression.md +67 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/resolvefilter.md +87 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/sample.md +21 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/sequence.md +52 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/stack.md +51 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/stratify.md +47 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/timeunit.md +108 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/tree.md +37 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/treelinks.md +71 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/treemap.md +48 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/voronoi.md +31 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/window.md +122 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/docs/transforms/wordcloud.md +49 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-6.3.1/docs/vega-schema.json +16341 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/LICENSE +27 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/build/vega-lite-schema.json +32460 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/composition/composition.md +55 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/composition/concat.md +122 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/composition/facet.md +164 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/composition/layer.md +50 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/composition/repeat.md +108 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/composition/resolve.md +41 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/axis.md +196 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/bandPosition.md +31 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/condition.md +142 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/datum.md +42 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/field.md +46 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/format.md +97 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/header.md +109 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/legend.md +113 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/scale.md +475 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/sort.md +121 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/type.md +67 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/encoding/value.md +34 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/arc.md +103 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/area.md +113 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/bar.md +175 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/boxplot.md +146 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/circle.md +66 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/errorband.md +133 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/errorbar.md +153 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/geoshape.md +41 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/image.md +71 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/line.md +180 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/mark.md +184 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/point.md +118 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/rect.md +95 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/rule.md +103 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/square.md +51 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/text.md +91 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/tick.md +78 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/mark/trail.md +76 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/parameter/bind.md +58 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/parameter/parameter.md +157 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/parameter/select.md +237 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/parameter/value.md +23 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/aggregate.md +143 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/bin.md +123 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/calculate.md +30 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/density.md +55 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/extent.md +52 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/filter.md +24 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/flatten.md +67 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/fold.md +60 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/impute.md +119 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/joinaggregate.md +87 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/loess.md +47 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/lookup.md +48 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/pivot.md +58 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/quantile.md +56 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/regression.md +58 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/sample.md +38 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/stack.md +165 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/timeunit.md +165 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/transform.md +45 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/transform/window.md +140 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/types/datetime.md +14 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/types/gradient.md +45 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/types/predicate.md +137 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/view/size.md +121 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vega-lite-6.4.3/site/docs/view/title.md +42 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vl-convert-1.9.0/LICENSE +11 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vl-convert-1.9.0/README.md +130 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vl-convert-1.9.0/thirdparty_font.md +50 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vl-convert-1.9.0/thirdparty_javascript.md +43 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vl-convert-1.9.0/vl-convert-python/README.md +124 -0
- odibi_anchor-0.1.0/.assistant/references/snapshots/vl-convert-1.9.0/vl-convert-python/vl_convert.pyi +853 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/python/pydantic-contract-cookbook.md +295 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/python/pydantic.md +129 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/visualization/altair.md +102 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/visualization/api-crosswalk.md +187 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/visualization/deneb-powerbi.md +94 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/visualization/interaction-cookbook.md +235 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/visualization/powerbi-portability.md +198 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/visualization/stack-guide.md +93 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/visualization/vega-lite.md +92 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/visualization/vega.md +93 -0
- odibi_anchor-0.1.0/.assistant/references/technologies/visualization/vl-convert.md +69 -0
- odibi_anchor-0.1.0/.assistant/skills/auditing-memory-governance/SKILL.md +85 -0
- odibi_anchor-0.1.0/.assistant/skills/authoring-governed-memories/SKILL.md +117 -0
- odibi_anchor-0.1.0/.assistant/skills/building-memory-packs/SKILL.md +80 -0
- odibi_anchor-0.1.0/.assistant/skills/code-comprehension/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/code-comprehension/references/backbone.md +69 -0
- odibi_anchor-0.1.0/.assistant/skills/cross-functional-pr/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/cross-functional-pr/references/backbone.md +62 -0
- odibi_anchor-0.1.0/.assistant/skills/data-onboarding/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/data-onboarding/references/backbone.md +158 -0
- odibi_anchor-0.1.0/.assistant/skills/data-onboarding/references/csv.md +129 -0
- odibi_anchor-0.1.0/.assistant/skills/data-onboarding/references/excel.md +180 -0
- odibi_anchor-0.1.0/.assistant/skills/data-onboarding/references/json.md +223 -0
- odibi_anchor-0.1.0/.assistant/skills/data-onboarding/references/planning.md +8 -0
- odibi_anchor-0.1.0/.assistant/skills/data-onboarding/references/profiling.md +387 -0
- odibi_anchor-0.1.0/.assistant/skills/data-onboarding/references/quality.md +303 -0
- odibi_anchor-0.1.0/.assistant/skills/data-onboarding/references/refresh.md +124 -0
- odibi_anchor-0.1.0/.assistant/skills/data-operations/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/data-operations/references/backbone.md +69 -0
- odibi_anchor-0.1.0/.assistant/skills/data-operations/references/planning.md +314 -0
- odibi_anchor-0.1.0/.assistant/skills/data-reconciliation/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/data-reconciliation/references/backbone.md +241 -0
- odibi_anchor-0.1.0/.assistant/skills/debugging/SKILL.md +25 -0
- odibi_anchor-0.1.0/.assistant/skills/debugging/references/backbone.md +515 -0
- odibi_anchor-0.1.0/.assistant/skills/debugging/references/logging.md +179 -0
- odibi_anchor-0.1.0/.assistant/skills/debugging/references/planning.md +175 -0
- odibi_anchor-0.1.0/.assistant/skills/debugging/references/recovery.md +191 -0
- odibi_anchor-0.1.0/.assistant/skills/dependency-management/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/dependency-management/references/backbone.md +222 -0
- odibi_anchor-0.1.0/.assistant/skills/documentation/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/documentation/references/backbone.md +297 -0
- odibi_anchor-0.1.0/.assistant/skills/incident-response/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/incident-response/references/backbone.md +236 -0
- odibi_anchor-0.1.0/.assistant/skills/incident-response/references/recovery.md +8 -0
- odibi_anchor-0.1.0/.assistant/skills/performance-investigation/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/performance-investigation/references/backbone.md +218 -0
- odibi_anchor-0.1.0/.assistant/skills/schema-design/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/schema-design/references/backbone.md +268 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/SKILL.md +20 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/references/asana-task-authoring.md +334 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/references/backbone.md +97 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/references/greenfield.md +300 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/references/implementation.md +154 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/references/integration.md +213 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/references/memory-saving.md +360 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/references/migration.md +169 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/references/multi-session.md +206 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/references/planning.md +298 -0
- odibi_anchor-0.1.0/.assistant/skills/work-item-management/references/refactoring.md +154 -0
- odibi_anchor-0.1.0/.assistant/skills/writing-specs/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/writing-specs/references/backbone.md +239 -0
- odibi_anchor-0.1.0/.assistant/skills/writing-tests/SKILL.md +18 -0
- odibi_anchor-0.1.0/.assistant/skills/writing-tests/references/backbone.md +71 -0
- odibi_anchor-0.1.0/.assistant/skills/writing-tests/references/planning.md +224 -0
- odibi_anchor-0.1.0/.assistant/skills/writing-tests/references/scenarios.md +173 -0
- odibi_anchor-0.1.0/.assistant_instructions.md +393 -0
- odibi_anchor-0.1.0/.gitattributes +3 -0
- odibi_anchor-0.1.0/.github/scripts/check_dist.py +51 -0
- odibi_anchor-0.1.0/.github/workflows/quality.yml +101 -0
- odibi_anchor-0.1.0/.github/workflows/release.yml +60 -0
- odibi_anchor-0.1.0/.gitignore +56 -0
- odibi_anchor-0.1.0/CHANGELOG.md +14 -0
- odibi_anchor-0.1.0/CLAUDE.md +4 -0
- odibi_anchor-0.1.0/CONTRIBUTING.md +14 -0
- odibi_anchor-0.1.0/LICENSE +190 -0
- odibi_anchor-0.1.0/NOTICE +17 -0
- odibi_anchor-0.1.0/OUTPUT_SCHEMA.md +777 -0
- odibi_anchor-0.1.0/PKG-INFO +191 -0
- odibi_anchor-0.1.0/README.md +135 -0
- odibi_anchor-0.1.0/SECURITY.md +15 -0
- odibi_anchor-0.1.0/agent_bootstrap.py +224 -0
- odibi_anchor-0.1.0/app.yaml +23 -0
- odibi_anchor-0.1.0/docs/ARCHITECTURE.md +219 -0
- odibi_anchor-0.1.0/docs/CONTRIBUTING.md +98 -0
- odibi_anchor-0.1.0/docs/assurance/control-promotion-and-rollback.md +61 -0
- odibi_anchor-0.1.0/docs/assurance/outcome-qualification.md +82 -0
- odibi_anchor-0.1.0/docs/guides/agent-context-envelope.md +95 -0
- odibi_anchor-0.1.0/docs/guides/agent_integration.md +115 -0
- odibi_anchor-0.1.0/docs/guides/amp-project-integration.md +82 -0
- odibi_anchor-0.1.0/docs/guides/evidence_loop.md +80 -0
- odibi_anchor-0.1.0/docs/guides/mcp-databricks.md +50 -0
- odibi_anchor-0.1.0/docs/guides/quickstart.md +214 -0
- odibi_anchor-0.1.0/docs/guides/runtime-rollout.md +251 -0
- odibi_anchor-0.1.0/docs/guides/tool_picker.md +82 -0
- odibi_anchor-0.1.0/docs/guides/workflows.md +150 -0
- odibi_anchor-0.1.0/docs/tools/change_impact_context.md +201 -0
- odibi_anchor-0.1.0/docs/tools/codebase_map_context.md +378 -0
- odibi_anchor-0.1.0/docs/tools/consistency_check_context.md +165 -0
- odibi_anchor-0.1.0/docs/tools/convention_preflight_context.md +188 -0
- odibi_anchor-0.1.0/docs/tools/dataset_profile_context.md +188 -0
- odibi_anchor-0.1.0/docs/tools/diff_tables_by_key.md +196 -0
- odibi_anchor-0.1.0/docs/tools/dogfood_regression_context.md +92 -0
- odibi_anchor-0.1.0/docs/tools/duplicate_key_context.md +198 -0
- odibi_anchor-0.1.0/docs/tools/error_trace_context.md +272 -0
- odibi_anchor-0.1.0/docs/tools/exploration_context.md +220 -0
- odibi_anchor-0.1.0/docs/tools/failure_pattern_context.md +58 -0
- odibi_anchor-0.1.0/docs/tools/handoff_context.md +173 -0
- odibi_anchor-0.1.0/docs/tools/import_resolve_context.md +58 -0
- odibi_anchor-0.1.0/docs/tools/known_bad_change_context.md +66 -0
- odibi_anchor-0.1.0/docs/tools/learn_context.md +78 -0
- odibi_anchor-0.1.0/docs/tools/memory_context.md +142 -0
- odibi_anchor-0.1.0/docs/tools/preflight_context.md +58 -0
- odibi_anchor-0.1.0/docs/tools/quality_gate_context.md +207 -0
- odibi_anchor-0.1.0/docs/tools/safe_change_context.md +67 -0
- odibi_anchor-0.1.0/docs/tools/schema_diff_context.md +242 -0
- odibi_anchor-0.1.0/docs/tools/semantic_edit_context.md +71 -0
- odibi_anchor-0.1.0/docs/tools/session_snapshot_context.md +181 -0
- odibi_anchor-0.1.0/docs/tools/table_contract_summary.md +238 -0
- odibi_anchor-0.1.0/docs/tools/task_execution_context.md +112 -0
- odibi_anchor-0.1.0/docs/tools/test_focus_context.md +98 -0
- odibi_anchor-0.1.0/docs/tools/validation_summary_context.md +287 -0
- odibi_anchor-0.1.0/docs/tools/workflow_gate_context.md +66 -0
- odibi_anchor-0.1.0/pyproject.toml +166 -0
- odibi_anchor-0.1.0/src/odibi_anchor/__init__.py +205 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/__init__.py +1 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_action_preparation.py +598 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_agent_context.py +548 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_auto_confirm.py +273 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_baseline_qualification.py +180 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_blocked_action.py +12 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_boot.py +829 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_canonical_handoff.py +467 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_capture_standards.py +271 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_checkpoint.py +615 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_compliance.py +697 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_concurrency.py +415 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_dispatch_table.py +890 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_effects.py +639 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_enforcement.py +955 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_frame.py +272 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_gate_wrappers.py +673 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_guidance.py +461 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_limits.py +49 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_memory.py +577 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_memory_actions.py +1301 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_operating_protocol.py +260 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_post_dispatch.py +830 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_pre_dispatch.py +543 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_problem.py +670 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_project.py +886 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_protocol.py +49 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_references.py +866 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_request_adapter.py +190 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_runtime_capabilities.py +167 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_safe_stop.py +72 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_session.py +699 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_session_health.py +324 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_session_tools.py +242 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_spec.py +1539 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_task_injection.py +388 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_tool_wrappers.py +422 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_tools.py +167 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_work_item.py +731 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_dispatcher/_workflows.py +1876 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_forensic_replay/__init__.py +29 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_forensic_replay/journal.py +273 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_host_probe/__init__.py +5 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_host_probe/__main__.py +66 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_host_probe/_capabilities.py +174 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_ledger/__init__.py +4 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_ledger/_store.py +624 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_protocol/__init__.py +1 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_protocol/_canonical.py +88 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_protocol/_closure_submission.py +130 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_protocol/_deployment_binding.py +180 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_protocol/_documents.py +477 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_protocol/_host_capability_qualification.py +345 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_protocol/_ledger_ack.py +125 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_protocol/_ledger_query.py +111 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_protocol/_ledger_query_result.py +167 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_protocol/_verification.py +33 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/__init__.py +5 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/__main__.py +44 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/_canonical.py +41 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/_crypto.py +78 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/_framing.py +48 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/_kernel.py +64 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/_measurement.py +188 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/_protocol.py +107 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/_readiness.py +257 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/_readiness_protocol.py +77 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_governance_sidecar/_state.py +35 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_pr_readiness.py +558 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_repository_snapshot.py +1240 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_runtime_paths.py +133 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/__init__.py +66 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/_context_frame.py +877 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/_contracts.py +92 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/_output_hints.py +114 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/_session_state.py +1046 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/_tool_registry.py +396 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/_toon.py +132 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/_write_safety.py +35 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/ast_utils.py +492 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/contract.py +191 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/engine_utils.py +79 -0
- odibi_anchor-0.1.0/src/odibi_anchor/_utils/render_utils.py +144 -0
- odibi_anchor-0.1.0/src/odibi_anchor/assurance/__init__.py +151 -0
- odibi_anchor-0.1.0/src/odibi_anchor/assurance/catalog.py +169 -0
- odibi_anchor-0.1.0/src/odibi_anchor/assurance/evaluator.py +803 -0
- odibi_anchor-0.1.0/src/odibi_anchor/assurance/models.py +452 -0
- odibi_anchor-0.1.0/src/odibi_anchor/assurance/overlays.py +541 -0
- odibi_anchor-0.1.0/src/odibi_anchor/assurance/promotion.py +409 -0
- odibi_anchor-0.1.0/src/odibi_anchor/assurance/qualification.py +708 -0
- odibi_anchor-0.1.0/src/odibi_anchor/assurance/resources/promotion_policy.json +28 -0
- odibi_anchor-0.1.0/src/odibi_anchor/assurance/resources/scenario_manifest.json +278 -0
- odibi_anchor-0.1.0/src/odibi_anchor/assurance/runner.py +185 -0
- odibi_anchor-0.1.0/src/odibi_anchor/behavior_runner.py +111 -0
- odibi_anchor-0.1.0/src/odibi_anchor/bootstrap.py +2090 -0
- odibi_anchor-0.1.0/src/odibi_anchor/cli.py +261 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/__init__.py +109 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_adopted_dirty.py +738 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_convention_rules.py +788 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_manifest.py +583 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_memory_db.py +1952 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_memory_lifecycle.py +1301 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_memory_promotion.py +1708 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_memory_storage.py +230 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_memory_verifier.py +955 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_migration_backup.py +242 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_spec_parser.py +323 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_sqlite_contention.py +132 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_task_authority.py +715 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/_task_execution.py +577 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/change_impact_context.py +883 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/codebase_map_context.py +1299 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/consistency_check_context.py +1028 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/convention_preflight_context.py +505 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/db_migrate_context.py +156 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/docs/change_impact_walkthrough.md +213 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/docs/consistency_check_walkthrough.md +198 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/docs/known_bad_walkthrough.md +198 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/docs/preflight_walkthrough.md +190 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/docs/safe_change_walkthrough.md +181 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/docs/semantic_edit_walkthrough.md +212 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/docs/test_focus_walkthrough.md +179 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/focus_context.py +624 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/framework_lookup_context.py +996 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/import_resolve_context.py +408 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/known_bad_change_context.py +857 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/learn_context.py +407 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/memory_context.py +855 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/memory_hygiene_context.py +94 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/preflight_context.py +450 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/review_context.py +214 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/safe_change_context.py +611 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/semantic_edit_context.py +1060 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/session_snapshot_context.py +517 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/structured_learning_context.py +2016 -0
- odibi_anchor-0.1.0/src/odibi_anchor/codebase/workflow_gate_context.py +893 -0
- odibi_anchor-0.1.0/src/odibi_anchor/debugging/__init__.py +17 -0
- odibi_anchor-0.1.0/src/odibi_anchor/debugging/error_trace_context.py +1052 -0
- odibi_anchor-0.1.0/src/odibi_anchor/debugging/failure_pattern_context.py +402 -0
- odibi_anchor-0.1.0/src/odibi_anchor/delivery.py +547 -0
- odibi_anchor-0.1.0/src/odibi_anchor/human_input.py +458 -0
- odibi_anchor-0.1.0/src/odibi_anchor/human_input_databricks.py +54 -0
- odibi_anchor-0.1.0/src/odibi_anchor/human_input_owner.py +160 -0
- odibi_anchor-0.1.0/src/odibi_anchor/human_input_slack.py +248 -0
- odibi_anchor-0.1.0/src/odibi_anchor/human_input_windows.py +127 -0
- odibi_anchor-0.1.0/src/odibi_anchor/legacy_import.py +353 -0
- odibi_anchor-0.1.0/src/odibi_anchor/mcp_app.py +72 -0
- odibi_anchor-0.1.0/src/odibi_anchor/mcp_server.py +809 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/__init__.py +77 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_artifacts.py +177 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_contract.py +522 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_databricks.py +471 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_delta.py +91 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_environment.py +91 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_git_snapshot.py +366 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_incident.py +307 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_redaction.py +99 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_render.py +33 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_runs.py +60 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_spark.py +120 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_tables.py +238 -0
- odibi_anchor-0.1.0/src/odibi_anchor/operational/_uc.py +56 -0
- odibi_anchor-0.1.0/src/odibi_anchor/planning/__init__.py +44 -0
- odibi_anchor-0.1.0/src/odibi_anchor/planning/_task_builders.py +990 -0
- odibi_anchor-0.1.0/src/odibi_anchor/planning/_task_config.py +906 -0
- odibi_anchor-0.1.0/src/odibi_anchor/planning/_task_helpers.py +222 -0
- odibi_anchor-0.1.0/src/odibi_anchor/planning/_task_policy.py +469 -0
- odibi_anchor-0.1.0/src/odibi_anchor/planning/_task_profile.py +283 -0
- odibi_anchor-0.1.0/src/odibi_anchor/planning/_task_render.py +378 -0
- odibi_anchor-0.1.0/src/odibi_anchor/planning/context_selection.py +430 -0
- odibi_anchor-0.1.0/src/odibi_anchor/planning/handoff_context.py +334 -0
- odibi_anchor-0.1.0/src/odibi_anchor/planning/task_execution_context.py +784 -0
- odibi_anchor-0.1.0/src/odibi_anchor/profiling/__init__.py +13 -0
- odibi_anchor-0.1.0/src/odibi_anchor/profiling/docs/dataset_profile_walkthrough.md +459 -0
- odibi_anchor-0.1.0/src/odibi_anchor/profiling/docs/dogfood_regression_walkthrough.md +444 -0
- odibi_anchor-0.1.0/src/odibi_anchor/profiling/docs/exploration_walkthrough.md +392 -0
- odibi_anchor-0.1.0/src/odibi_anchor/profiling/dogfood_regression_context.py +460 -0
- odibi_anchor-0.1.0/src/odibi_anchor/py.typed +0 -0
- odibi_anchor-0.1.0/src/odibi_anchor/pytest_runner.py +177 -0
- odibi_anchor-0.1.0/src/odibi_anchor/seeds/agent_reliability.json +334 -0
- odibi_anchor-0.1.0/src/odibi_anchor/startup.py +299 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/__init__.py +41 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/apply_transform_context.py +1119 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/coercion_classifier.py +431 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/compare_ops.py +233 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/diff_ops.py +2058 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/apply_transform_walkthrough.md +212 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/coerce_check_architecture.md +145 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/coerce_check_readme.md +156 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/coerce_check_usage.md +153 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/coercion_classifier_walkthrough.md +169 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/compare_ops_walkthrough.md +165 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/cw_cheatsheet.md +155 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/diff_architecture.md +149 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/diff_ops_walkthrough.md +162 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/diff_readme.md +166 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/diff_usage.md +189 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/schema_diff_architecture.md +141 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/schema_diff_readme.md +148 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/schema_diff_usage.md +154 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/schema_diff_walkthrough.md +185 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/table_contract_summary_walkthrough.md +190 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/transform_architecture.md +204 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/transform_plan_walkthrough.md +183 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/transform_readme.md +190 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/docs/transform_usage.md +227 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/schema_diff_context.py +1468 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/table_contract_summary.py +1794 -0
- odibi_anchor-0.1.0/src/odibi_anchor/tables/transform_plan_context.py +1373 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/__init__.py +27 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/_quality_gate_checks_pandas.py +478 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/_quality_gate_checks_spark.py +584 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/_quality_gate_helpers.py +562 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/_quality_gate_render.py +198 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/_validation_build.py +539 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/_validation_checks.py +739 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/_validation_render.py +191 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/docs/duplicate_key_walkthrough.md +120 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/docs/quality_gate_walkthrough.md +128 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/docs/validation_summary_walkthrough.md +153 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/duplicate_key_context.py +958 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/quality_gate_context.py +404 -0
- odibi_anchor-0.1.0/src/odibi_anchor/validation/validation_summary_context.py +932 -0
- odibi_anchor-0.1.0/tests/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/_dispatcher/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_action_preparation.py +346 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_agent_context.py +329 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_agent_context_journey.py +195 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_assurance_shadow.py +355 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_auto_touched.py +140 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_baseline_qualification.py +103 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_boot.py +942 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_canonical_handoff.py +480 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_capture_standards.py +116 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_checkpoint.py +408 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_co_occurrence.py +160 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_compliance.py +534 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_concurrency.py +245 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_data_mode_skill_map.py +27 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_data_posture.py +40 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_data_skill_hint.py +54 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_data_spec_gate.py +36 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_data_write_gate.py +89 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_databricks_repository_integration.py +437 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_db_migrate.py +107 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_degraded_visibility.py +53 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_documentation_and_linked_spec_policy.py +350 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_empty_state_guards.py +66 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_enforcement.py +603 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_frame.py +114 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_gate_outcome_evidence.py +148 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_gate_preflight_enforcement.py +40 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_gate_task_obligation_accounting.py +351 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_gate_unregistered_py_drift.py +237 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_guidance.py +334 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_help_error_action.py +68 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_incomplete_session_warning.py +43 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_marginalia.py +141 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_memory.py +579 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_memory_actions.py +1480 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_memory_hygiene.py +75 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_mode_skill_map_coverage.py +48 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_notebook_append.py +88 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_operating_protocol.py +276 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_orient.py +131 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_posthoc_advisory.py +54 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_pr_readiness.py +252 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_problem.py +362 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_project.py +654 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_references.py +405 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_repository_snapshot.py +890 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_request_adapter.py +128 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_session.py +370 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_skill_gate_readonly.py +86 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_spec.py +427 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_spec_execute.py +199 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_spec_learning_loop.py +151 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_spec_review.py +266 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_spec_review_teeth.py +67 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_spec_validate.py +194 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_status_data_posture.py +39 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_task_authority_rebind.py +279 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_task_injection.py +310 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_task_policy.py +275 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_terminal_task_record.py +121 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_trails.py +137 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_use_phase_hardening.py +197 -0
- odibi_anchor-0.1.0/tests/_dispatcher/test_work_item.py +580 -0
- odibi_anchor-0.1.0/tests/_governance_host_probe/test_capabilities.py +140 -0
- odibi_anchor-0.1.0/tests/_governance_ledger/test_store.py +675 -0
- odibi_anchor-0.1.0/tests/_governance_protocol/test_closure_submission.py +220 -0
- odibi_anchor-0.1.0/tests/_governance_protocol/test_deployment_binding.py +313 -0
- odibi_anchor-0.1.0/tests/_governance_protocol/test_host_capability_qualification.py +388 -0
- odibi_anchor-0.1.0/tests/_governance_protocol/test_ledger_ack.py +196 -0
- odibi_anchor-0.1.0/tests/_governance_protocol/test_ledger_query.py +221 -0
- odibi_anchor-0.1.0/tests/_governance_protocol/test_ledger_query_result.py +298 -0
- odibi_anchor-0.1.0/tests/_governance_sidecar/test_readiness.py +755 -0
- odibi_anchor-0.1.0/tests/_governance_sidecar/test_state_and_kernel.py +199 -0
- odibi_anchor-0.1.0/tests/_utils/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/_utils/test_ast_utils.py +302 -0
- odibi_anchor-0.1.0/tests/_utils/test_cap_with_hint.py +26 -0
- odibi_anchor-0.1.0/tests/_utils/test_context_frame.py +330 -0
- odibi_anchor-0.1.0/tests/_utils/test_context_frame_phase3.py +203 -0
- odibi_anchor-0.1.0/tests/_utils/test_context_frame_plan.py +96 -0
- odibi_anchor-0.1.0/tests/_utils/test_contract.py +242 -0
- odibi_anchor-0.1.0/tests/_utils/test_contracts.py +73 -0
- odibi_anchor-0.1.0/tests/_utils/test_output_hints.py +83 -0
- odibi_anchor-0.1.0/tests/_utils/test_render_utils.py +191 -0
- odibi_anchor-0.1.0/tests/_utils/test_tool_registry.py +374 -0
- odibi_anchor-0.1.0/tests/_utils/test_toon.py +46 -0
- odibi_anchor-0.1.0/tests/_utils/test_write_safety_card.py +32 -0
- odibi_anchor-0.1.0/tests/assurance/test_controls.py +144 -0
- odibi_anchor-0.1.0/tests/assurance/test_evaluator.py +359 -0
- odibi_anchor-0.1.0/tests/assurance/test_evidence.py +112 -0
- odibi_anchor-0.1.0/tests/assurance/test_golden_scenarios.py +96 -0
- odibi_anchor-0.1.0/tests/assurance/test_outcome_qualification.py +158 -0
- odibi_anchor-0.1.0/tests/assurance/test_overlay_applicability.py +119 -0
- odibi_anchor-0.1.0/tests/assurance/test_overlay_catalog.py +74 -0
- odibi_anchor-0.1.0/tests/assurance/test_overlay_distribution.py +93 -0
- odibi_anchor-0.1.0/tests/assurance/test_overlay_evidence.py +130 -0
- odibi_anchor-0.1.0/tests/assurance/test_promotion_policy.py +199 -0
- odibi_anchor-0.1.0/tests/codebase/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/codebase/test_auto_confirm.py +36 -0
- odibi_anchor-0.1.0/tests/codebase/test_bootstrap_manifest.py +37 -0
- odibi_anchor-0.1.0/tests/codebase/test_codebase_map_summary.py +43 -0
- odibi_anchor-0.1.0/tests/codebase/test_convention_preflight_context.py +257 -0
- odibi_anchor-0.1.0/tests/codebase/test_convention_rules.py +400 -0
- odibi_anchor-0.1.0/tests/codebase/test_focus_context.py +334 -0
- odibi_anchor-0.1.0/tests/codebase/test_framework_lookup_context.py +979 -0
- odibi_anchor-0.1.0/tests/codebase/test_gate_timing_verification.py +324 -0
- odibi_anchor-0.1.0/tests/codebase/test_import_collision_healing.py +33 -0
- odibi_anchor-0.1.0/tests/codebase/test_import_resolve_context.py +143 -0
- odibi_anchor-0.1.0/tests/codebase/test_known_bad_change_context.py +315 -0
- odibi_anchor-0.1.0/tests/codebase/test_learn_context.py +178 -0
- odibi_anchor-0.1.0/tests/codebase/test_learning_owner_migration.py +406 -0
- odibi_anchor-0.1.0/tests/codebase/test_manifest.py +284 -0
- odibi_anchor-0.1.0/tests/codebase/test_memory_context.py +535 -0
- odibi_anchor-0.1.0/tests/codebase/test_memory_db.py +757 -0
- odibi_anchor-0.1.0/tests/codebase/test_memory_lifecycle.py +632 -0
- odibi_anchor-0.1.0/tests/codebase/test_memory_lifecycle_reliability.py +330 -0
- odibi_anchor-0.1.0/tests/codebase/test_memory_promotion.py +1041 -0
- odibi_anchor-0.1.0/tests/codebase/test_memory_storage.py +146 -0
- odibi_anchor-0.1.0/tests/codebase/test_memory_verifier.py +963 -0
- odibi_anchor-0.1.0/tests/codebase/test_persistence_contention.py +421 -0
- odibi_anchor-0.1.0/tests/codebase/test_preflight_context.py +285 -0
- odibi_anchor-0.1.0/tests/codebase/test_review_context.py +169 -0
- odibi_anchor-0.1.0/tests/codebase/test_safe_change_context.py +768 -0
- odibi_anchor-0.1.0/tests/codebase/test_semantic_edit_context.py +456 -0
- odibi_anchor-0.1.0/tests/codebase/test_spec_action.py +227 -0
- odibi_anchor-0.1.0/tests/codebase/test_spec_gate.py +209 -0
- odibi_anchor-0.1.0/tests/codebase/test_spec_parser.py +370 -0
- odibi_anchor-0.1.0/tests/codebase/test_structured_learning_context.py +1186 -0
- odibi_anchor-0.1.0/tests/codebase/test_task_authority.py +743 -0
- odibi_anchor-0.1.0/tests/codebase/test_task_execution.py +392 -0
- odibi_anchor-0.1.0/tests/codebase/test_workflow_gate_context.py +1051 -0
- odibi_anchor-0.1.0/tests/concurrency/test_two_process_qualification.py +614 -0
- odibi_anchor-0.1.0/tests/conftest.py +133 -0
- odibi_anchor-0.1.0/tests/debugging/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/debugging/test_error_trace_context.py +289 -0
- odibi_anchor-0.1.0/tests/debugging/test_error_trace_skill_routing.py +17 -0
- odibi_anchor-0.1.0/tests/debugging/test_failure_pattern_context.py +268 -0
- odibi_anchor-0.1.0/tests/fixtures/CRM_data_2026_05_19.xlsx +0 -0
- odibi_anchor-0.1.0/tests/fixtures/CRM_data_2026_05_29_GOLD.xlsx +0 -0
- odibi_anchor-0.1.0/tests/operational/test_artifacts.py +112 -0
- odibi_anchor-0.1.0/tests/operational/test_contract.py +496 -0
- odibi_anchor-0.1.0/tests/operational/test_databricks_adapter.py +103 -0
- odibi_anchor-0.1.0/tests/operational/test_databricks_repository_provider.py +306 -0
- odibi_anchor-0.1.0/tests/operational/test_dispatcher_integration.py +49 -0
- odibi_anchor-0.1.0/tests/operational/test_environment.py +36 -0
- odibi_anchor-0.1.0/tests/operational/test_git_snapshot.py +251 -0
- odibi_anchor-0.1.0/tests/operational/test_portable_collectors.py +64 -0
- odibi_anchor-0.1.0/tests/operational/test_redaction.py +32 -0
- odibi_anchor-0.1.0/tests/operational/test_tables_incident.py +163 -0
- odibi_anchor-0.1.0/tests/planning/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/planning/test_context_selection.py +283 -0
- odibi_anchor-0.1.0/tests/planning/test_data_discovery_keywords.py +33 -0
- odibi_anchor-0.1.0/tests/planning/test_handoff_context.py +222 -0
- odibi_anchor-0.1.0/tests/planning/test_task_builders.py +437 -0
- odibi_anchor-0.1.0/tests/planning/test_task_config.py +114 -0
- odibi_anchor-0.1.0/tests/planning/test_task_context_generators.py +78 -0
- odibi_anchor-0.1.0/tests/planning/test_task_execution_context.py +934 -0
- odibi_anchor-0.1.0/tests/planning/test_task_profile.py +173 -0
- odibi_anchor-0.1.0/tests/planning/test_task_render.py +224 -0
- odibi_anchor-0.1.0/tests/profiling/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/profiling/test_dogfood_regression_context.py +300 -0
- odibi_anchor-0.1.0/tests/schema_migrate/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/schema_migrate/test_schema_migrate_errors.py +200 -0
- odibi_anchor-0.1.0/tests/suggest_rules/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/suggest_rules/test_suggest_rules_errors.py +195 -0
- odibi_anchor-0.1.0/tests/table_profiler/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/table_profiler/conftest.py +35 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_case_file.py +376 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_cleanliness.py +227 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_common.py +91 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_contract.py +486 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_cross_column.py +495 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_duplicate_forensics.py +551 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_extension_registry.py +141 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_findings_extra.py +309 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_format_checker.py +409 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_freshness.py +356 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_grain_detector.py +242 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_join_profiler.py +401 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_microscope.py +271 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_profiler.py +1867 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_regression_corpus.py +552 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_regression_edges.py +104 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_renderer.py +514 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_role_classifier.py +297 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_semantic_typer.py +341 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_stats_engine.py +119 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_string_length.py +337 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_table_classifier.py +308 -0
- odibi_anchor-0.1.0/tests/table_profiler/test_value_stability.py +580 -0
- odibi_anchor-0.1.0/tests/tables/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/tables/test_apply_transform_context.py +1460 -0
- odibi_anchor-0.1.0/tests/tables/test_compare_ops.py +227 -0
- odibi_anchor-0.1.0/tests/tables/test_diff_ops.py +813 -0
- odibi_anchor-0.1.0/tests/tables/test_diff_tables_by_key.py +386 -0
- odibi_anchor-0.1.0/tests/tables/test_schema_diff_context.py +290 -0
- odibi_anchor-0.1.0/tests/tables/test_table_contract_summary.py +610 -0
- odibi_anchor-0.1.0/tests/tables/test_transform_plan_context.py +978 -0
- odibi_anchor-0.1.0/tests/test_action_effects.py +630 -0
- odibi_anchor-0.1.0/tests/test_amp_project_reliability.py +19 -0
- odibi_anchor-0.1.0/tests/test_canonical_learning_guidance.py +215 -0
- odibi_anchor-0.1.0/tests/test_change_impact_context.py +302 -0
- odibi_anchor-0.1.0/tests/test_cli.py +391 -0
- odibi_anchor-0.1.0/tests/test_codebase_map_context.py +898 -0
- odibi_anchor-0.1.0/tests/test_coercion_classifier.py +155 -0
- odibi_anchor-0.1.0/tests/test_consistency_check_context.py +371 -0
- odibi_anchor-0.1.0/tests/test_delivery.py +423 -0
- odibi_anchor-0.1.0/tests/test_diff_categorize.py +92 -0
- odibi_anchor-0.1.0/tests/test_dispatcher.py +2154 -0
- odibi_anchor-0.1.0/tests/test_forensic_replay.py +114 -0
- odibi_anchor-0.1.0/tests/test_full_verification.py +157 -0
- odibi_anchor-0.1.0/tests/test_gate_coverage_resolution.py +155 -0
- odibi_anchor-0.1.0/tests/test_human_input.py +508 -0
- odibi_anchor-0.1.0/tests/test_human_input_databricks.py +135 -0
- odibi_anchor-0.1.0/tests/test_human_input_windows.py +128 -0
- odibi_anchor-0.1.0/tests/test_installed_distribution.py +3819 -0
- odibi_anchor-0.1.0/tests/test_mcp_app_structure.py +69 -0
- odibi_anchor-0.1.0/tests/test_mcp_server.py +1508 -0
- odibi_anchor-0.1.0/tests/test_output_schema.py +324 -0
- odibi_anchor-0.1.0/tests/test_planning_skills_reference_spec_compliance.py +12 -0
- odibi_anchor-0.1.0/tests/test_preflight_baseline.py +254 -0
- odibi_anchor-0.1.0/tests/test_pytest_runner.py +242 -0
- odibi_anchor-0.1.0/tests/test_quality_ratchet.py +272 -0
- odibi_anchor-0.1.0/tests/test_release_verification_scripts.py +141 -0
- odibi_anchor-0.1.0/tests/test_render_functions.py +224 -0
- odibi_anchor-0.1.0/tests/test_session_drift.py +350 -0
- odibi_anchor-0.1.0/tests/test_session_health.py +272 -0
- odibi_anchor-0.1.0/tests/test_session_snapshot_context.py +467 -0
- odibi_anchor-0.1.0/tests/test_skill_contract.py +22 -0
- odibi_anchor-0.1.0/tests/test_skill_loaded_validation.py +147 -0
- odibi_anchor-0.1.0/tests/test_skill_pointers_table_complete.py +2028 -0
- odibi_anchor-0.1.0/tests/test_skill_references_resolve.py +26 -0
- odibi_anchor-0.1.0/tests/test_startup.py +431 -0
- odibi_anchor-0.1.0/tests/utils/__init__.py +1 -0
- odibi_anchor-0.1.0/tests/utils/conftest.py +43 -0
- odibi_anchor-0.1.0/tests/utils/test_session_state.py +324 -0
- odibi_anchor-0.1.0/tests/utils/test_session_state_integration.py +271 -0
- odibi_anchor-0.1.0/tests/validation/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/validation/test_duplicate_key_context.py +377 -0
- odibi_anchor-0.1.0/tests/validation/test_quality_gate_checks_pandas.py +167 -0
- odibi_anchor-0.1.0/tests/validation/test_quality_gate_context.py +210 -0
- odibi_anchor-0.1.0/tests/validation/test_quality_gate_helpers.py +201 -0
- odibi_anchor-0.1.0/tests/validation/test_validation_build.py +270 -0
- odibi_anchor-0.1.0/tests/validation/test_validation_checks.py +480 -0
- odibi_anchor-0.1.0/tests/validation/test_validation_summary_context.py +692 -0
- odibi_anchor-0.1.0/tests/watermark/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/watermark/test_watermark_errors.py +214 -0
- odibi_anchor-0.1.0/tests/workflows/__init__.py +0 -0
- odibi_anchor-0.1.0/tests/workflows/test_chain.py +163 -0
- odibi_anchor-0.1.0/tests/workflows/test_debug.py +229 -0
- odibi_anchor-0.1.0/tests/workflows/test_evolve.py +247 -0
- odibi_anchor-0.1.0/tests/workflows/test_investigate.py +304 -0
- odibi_anchor-0.1.0/tests/workflows/test_onboard.py +229 -0
- odibi_anchor-0.1.0/tests/workflows/test_reconcile.py +245 -0
- odibi_anchor-0.1.0/tests/workflows/test_robustness.py +154 -0
- odibi_anchor-0.1.0/tests/workflows/test_trace.py +306 -0
- odibi_anchor-0.1.0/tools/coerce_fix_tool/README.md +172 -0
- odibi_anchor-0.1.0/tools/coerce_fix_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/coerce_fix_tool/coerce_fix_impl.py +574 -0
- odibi_anchor-0.1.0/tools/coerce_fix_tool/docs/architecture.md +133 -0
- odibi_anchor-0.1.0/tools/coerce_fix_tool/docs/code_walkthrough.md +298 -0
- odibi_anchor-0.1.0/tools/coerce_fix_tool/docs/usage.md +127 -0
- odibi_anchor-0.1.0/tools/coerce_fix_tool/test_coerce_fix.py +446 -0
- odibi_anchor-0.1.0/tools/coerce_fix_tool/tool.json +40 -0
- odibi_anchor-0.1.0/tools/delta_diff_tool/README.md +155 -0
- odibi_anchor-0.1.0/tools/delta_diff_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/delta_diff_tool/delta_diff_impl.py +646 -0
- odibi_anchor-0.1.0/tools/delta_diff_tool/docs/architecture.md +164 -0
- odibi_anchor-0.1.0/tools/delta_diff_tool/docs/code_walkthrough.md +244 -0
- odibi_anchor-0.1.0/tools/delta_diff_tool/docs/usage.md +136 -0
- odibi_anchor-0.1.0/tools/delta_diff_tool/test_delta_diff.py +476 -0
- odibi_anchor-0.1.0/tools/delta_diff_tool/tool.json +42 -0
- odibi_anchor-0.1.0/tools/diagnose_empty_tool/README.md +225 -0
- odibi_anchor-0.1.0/tools/diagnose_empty_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/diagnose_empty_tool/diagnose_empty_impl.py +879 -0
- odibi_anchor-0.1.0/tools/diagnose_empty_tool/docs/architecture.md +175 -0
- odibi_anchor-0.1.0/tools/diagnose_empty_tool/docs/code_walkthrough.md +253 -0
- odibi_anchor-0.1.0/tools/diagnose_empty_tool/docs/usage.md +190 -0
- odibi_anchor-0.1.0/tools/diagnose_empty_tool/test_diagnose_empty.py +540 -0
- odibi_anchor-0.1.0/tools/diagnose_empty_tool/tool.json +35 -0
- odibi_anchor-0.1.0/tools/echo_tool/README.md +65 -0
- odibi_anchor-0.1.0/tools/echo_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/echo_tool/docs/architecture.md +65 -0
- odibi_anchor-0.1.0/tools/echo_tool/docs/usage.md +80 -0
- odibi_anchor-0.1.0/tools/echo_tool/echo_impl.py +67 -0
- odibi_anchor-0.1.0/tools/echo_tool/tool.json +30 -0
- odibi_anchor-0.1.0/tools/explain_row_tool/README.md +177 -0
- odibi_anchor-0.1.0/tools/explain_row_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/explain_row_tool/docs/architecture.md +132 -0
- odibi_anchor-0.1.0/tools/explain_row_tool/docs/code_walkthrough.md +293 -0
- odibi_anchor-0.1.0/tools/explain_row_tool/docs/usage.md +180 -0
- odibi_anchor-0.1.0/tools/explain_row_tool/explain_row_impl.py +687 -0
- odibi_anchor-0.1.0/tools/explain_row_tool/test_explain_row.py +616 -0
- odibi_anchor-0.1.0/tools/explain_row_tool/tool.json +36 -0
- odibi_anchor-0.1.0/tools/partition_check_tool/README.md +133 -0
- odibi_anchor-0.1.0/tools/partition_check_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/partition_check_tool/docs/architecture.md +129 -0
- odibi_anchor-0.1.0/tools/partition_check_tool/docs/code_walkthrough.md +212 -0
- odibi_anchor-0.1.0/tools/partition_check_tool/docs/usage.md +79 -0
- odibi_anchor-0.1.0/tools/partition_check_tool/partition_check_impl.py +804 -0
- odibi_anchor-0.1.0/tools/partition_check_tool/test_partition_check.py +571 -0
- odibi_anchor-0.1.0/tools/partition_check_tool/tool.json +36 -0
- odibi_anchor-0.1.0/tools/pre_join_tool/README.md +208 -0
- odibi_anchor-0.1.0/tools/pre_join_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/pre_join_tool/docs/architecture.md +181 -0
- odibi_anchor-0.1.0/tools/pre_join_tool/docs/code_walkthrough.md +394 -0
- odibi_anchor-0.1.0/tools/pre_join_tool/docs/usage.md +187 -0
- odibi_anchor-0.1.0/tools/pre_join_tool/pre_join_impl.py +948 -0
- odibi_anchor-0.1.0/tools/pre_join_tool/test_pre_join.py +685 -0
- odibi_anchor-0.1.0/tools/pre_join_tool/tool.json +37 -0
- odibi_anchor-0.1.0/tools/pre_merge_tool/README.md +168 -0
- odibi_anchor-0.1.0/tools/pre_merge_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/pre_merge_tool/docs/architecture.md +182 -0
- odibi_anchor-0.1.0/tools/pre_merge_tool/docs/code_walkthrough.md +385 -0
- odibi_anchor-0.1.0/tools/pre_merge_tool/docs/usage.md +184 -0
- odibi_anchor-0.1.0/tools/pre_merge_tool/pre_merge_impl.py +790 -0
- odibi_anchor-0.1.0/tools/pre_merge_tool/test_pre_merge.py +466 -0
- odibi_anchor-0.1.0/tools/pre_merge_tool/tool.json +36 -0
- odibi_anchor-0.1.0/tools/schema_migrate_tool/README.md +151 -0
- odibi_anchor-0.1.0/tools/schema_migrate_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/schema_migrate_tool/docs/architecture.md +142 -0
- odibi_anchor-0.1.0/tools/schema_migrate_tool/docs/code_walkthrough.md +270 -0
- odibi_anchor-0.1.0/tools/schema_migrate_tool/docs/usage.md +125 -0
- odibi_anchor-0.1.0/tools/schema_migrate_tool/schema_migrate_impl.py +886 -0
- odibi_anchor-0.1.0/tools/schema_migrate_tool/test_schema_migrate.py +846 -0
- odibi_anchor-0.1.0/tools/schema_migrate_tool/tool.json +38 -0
- odibi_anchor-0.1.0/tools/suggest_rules_tool/README.md +174 -0
- odibi_anchor-0.1.0/tools/suggest_rules_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/suggest_rules_tool/docs/architecture.md +98 -0
- odibi_anchor-0.1.0/tools/suggest_rules_tool/docs/code_walkthrough.md +312 -0
- odibi_anchor-0.1.0/tools/suggest_rules_tool/docs/usage.md +178 -0
- odibi_anchor-0.1.0/tools/suggest_rules_tool/suggest_rules_impl.py +570 -0
- odibi_anchor-0.1.0/tools/suggest_rules_tool/test_suggest_rules.py +588 -0
- odibi_anchor-0.1.0/tools/suggest_rules_tool/tool.json +39 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/README.md +288 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/docs/architecture.md +320 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/docs/code_walkthrough.md +621 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/docs/usage.md +563 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/__init__.py +41 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/_common.py +101 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/_sampling.py +159 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/case_file.py +803 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/cleanliness.py +304 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/contract.py +720 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/cross_column.py +498 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/duplicate_forensics.py +636 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/extension_registry.py +157 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/findings_extra.py +337 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/format_checker.py +488 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/freshness.py +436 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/grain_detector.py +463 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/join_profiler.py +415 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/microscope.py +778 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/models.py +436 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/profiler.py +1336 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/renderer.py +925 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/role_classifier.py +753 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/semantic_typer.py +511 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/stats_engine.py +395 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/string_length.py +231 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/table_classifier.py +496 -0
- odibi_anchor-0.1.0/tools/table_profiler_tool/lib/value_stability.py +425 -0
- odibi_anchor-0.1.0/tools/watermark_tool/README.md +165 -0
- odibi_anchor-0.1.0/tools/watermark_tool/__init__.py +1 -0
- odibi_anchor-0.1.0/tools/watermark_tool/docs/architecture.md +139 -0
- odibi_anchor-0.1.0/tools/watermark_tool/docs/code_walkthrough.md +251 -0
- odibi_anchor-0.1.0/tools/watermark_tool/docs/usage.md +104 -0
- odibi_anchor-0.1.0/tools/watermark_tool/test_watermark.py +457 -0
- odibi_anchor-0.1.0/tools/watermark_tool/tool.json +37 -0
- odibi_anchor-0.1.0/tools/watermark_tool/watermark_impl.py +768 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Native skill distribution
|
|
2
|
+
|
|
3
|
+
Every `SKILL.md` must contain, in frontmatter and body:
|
|
4
|
+
|
|
5
|
+
- Frontmatter: `name:` (matches directory) and `description:` (one line, used by `anchor("skills")`).
|
|
6
|
+
- `## When to load` — a specific trigger (user request or symptom).
|
|
7
|
+
- `## When NOT to load` — at least one explicit exclusion.
|
|
8
|
+
- `## Enforcement` — one of: `System hook` (a gate enforces this),
|
|
9
|
+
`Self-enforced` (discipline), or `Advisory`.
|
|
10
|
+
- Cross-references to related skills via `[[skill-name]]` or `skills/<name>/SKILL.md`.
|
|
11
|
+
|
|
12
|
+
The `skills/` directory contains exactly the native skill packages. Deterministic
|
|
13
|
+
Odibi Anchor documentation, universal development guidance, and lifecycle detail
|
|
14
|
+
live under `references/`; they are global distribution resources rather than skills.
|
|
15
|
+
|
|
16
|
+
`references/registry.json` additionally indexes the Engineering Reference Library.
|
|
17
|
+
Use `anchor("references")` for compact discovery, `anchor("references", "match", "query")`
|
|
18
|
+
for deterministic routing, and `anchor("references", "load", "id")` to load one complete
|
|
19
|
+
authored reference. Use `anchor("references", "search", "query", reference_id="id")` to search
|
|
20
|
+
licensed offline snapshots and `anchor("references", "load-section", "sec-v1-...")` to load one
|
|
21
|
+
exact bounded source section. References are advisory technical knowledge, not skills or gate obligations.
|
|
22
|
+
Registry entries include pinned licensed offline source snapshots; external URLs are provenance and
|
|
23
|
+
refresh locations, not a runtime dependency.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"""Resolve one Odibi Anchor checkout and run its authoritative bootstrap."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
if "__file__" not in globals():
|
|
6
|
+
raise RuntimeError(
|
|
7
|
+
"Odibi Anchor bootstrap requires __file__; use "
|
|
8
|
+
"runpy.run_path(<exact .assistant/agent_bootstrap.py>) in the persistent Python process"
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
import os
|
|
12
|
+
import runpy
|
|
13
|
+
from collections.abc import Mapping
|
|
14
|
+
from pathlib import Path
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def _validated_checkout(raw: object, *, source: str) -> Path:
|
|
18
|
+
if not isinstance(raw, (str, os.PathLike)) or isinstance(raw, bytes):
|
|
19
|
+
raise RuntimeError(f"{source} must be an absolute, non-tilde path")
|
|
20
|
+
value = os.fspath(raw)
|
|
21
|
+
if not isinstance(value, str) or not value or value.startswith("~") or not Path(value).is_absolute():
|
|
22
|
+
raise RuntimeError(f"{source} must be an absolute, non-tilde path")
|
|
23
|
+
checkout = Path(value).resolve(strict=False)
|
|
24
|
+
markers = (
|
|
25
|
+
checkout / "agent_bootstrap.py",
|
|
26
|
+
checkout / "src" / "odibi_anchor" / "bootstrap.py",
|
|
27
|
+
)
|
|
28
|
+
if not checkout.is_dir() or not all(marker.is_file() for marker in markers):
|
|
29
|
+
raise RuntimeError(
|
|
30
|
+
f"{source} is not a Odibi Anchor source checkout: {checkout}; "
|
|
31
|
+
"expected agent_bootstrap.py and src/odibi_anchor/bootstrap.py"
|
|
32
|
+
)
|
|
33
|
+
return checkout.resolve(strict=True)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
try:
|
|
37
|
+
_launcher = Path(__file__).resolve(strict=True)
|
|
38
|
+
except (OSError, TypeError) as exc:
|
|
39
|
+
raise RuntimeError("Odibi Anchor launcher __file__ is invalid") from exc
|
|
40
|
+
|
|
41
|
+
if "ANCHOR_SOURCE_CHECKOUT" in globals():
|
|
42
|
+
_checkout = _validated_checkout(
|
|
43
|
+
globals()["ANCHOR_SOURCE_CHECKOUT"], source="ANCHOR_SOURCE_CHECKOUT init global"
|
|
44
|
+
)
|
|
45
|
+
elif "ANCHOR_SOURCE_CHECKOUT" in os.environ:
|
|
46
|
+
_checkout = _validated_checkout(
|
|
47
|
+
os.environ["ANCHOR_SOURCE_CHECKOUT"], source="ANCHOR_SOURCE_CHECKOUT environment variable"
|
|
48
|
+
)
|
|
49
|
+
else:
|
|
50
|
+
_assistant_parent = _launcher.parent.parent
|
|
51
|
+
_source_candidate = _assistant_parent
|
|
52
|
+
_copied_candidate = _assistant_parent / "odibi_anchor"
|
|
53
|
+
try:
|
|
54
|
+
_checkout = _validated_checkout(_source_candidate, source="source-tree topology")
|
|
55
|
+
except RuntimeError:
|
|
56
|
+
try:
|
|
57
|
+
_checkout = _validated_checkout(_copied_candidate, source="copied-tree topology")
|
|
58
|
+
except RuntimeError:
|
|
59
|
+
_checkout = None
|
|
60
|
+
|
|
61
|
+
if _checkout is None:
|
|
62
|
+
from odibi_anchor import launch
|
|
63
|
+
|
|
64
|
+
_home = os.environ.get("ANCHOR_HOME")
|
|
65
|
+
if not _home:
|
|
66
|
+
raise RuntimeError(
|
|
67
|
+
"Installed Odibi Anchor startup requires one explicit durable ANCHOR_HOME"
|
|
68
|
+
)
|
|
69
|
+
_target = os.environ.get("ANCHOR_PROJECT_ROOT") or str(_launcher.parent.parent)
|
|
70
|
+
anchor = launch(
|
|
71
|
+
anchor_home=_home,
|
|
72
|
+
project_id=os.environ.get("ANCHOR_PROJECT_ID"),
|
|
73
|
+
project_root=_target,
|
|
74
|
+
output_format="dict",
|
|
75
|
+
)
|
|
76
|
+
ROOT = str(Path(_target).resolve())
|
|
77
|
+
MANIFEST = getattr(anchor, "manifest", None)
|
|
78
|
+
ORIENTATION = anchor("orient", output_format="dict")
|
|
79
|
+
if not isinstance(ORIENTATION, Mapping) or ORIENTATION.get("kind") != "orientation":
|
|
80
|
+
raise RuntimeError("Odibi Anchor orientation returned an invalid structured result")
|
|
81
|
+
_status = ORIENTATION.get("status")
|
|
82
|
+
_runtime = _status.get("runtime") if isinstance(_status, Mapping) else None
|
|
83
|
+
_binding = _runtime.get("route_binding") if isinstance(_runtime, Mapping) else None
|
|
84
|
+
_project_id = _binding.get("project_id") if isinstance(_binding, Mapping) else None
|
|
85
|
+
BOOTSTRAP = {
|
|
86
|
+
"success": True,
|
|
87
|
+
"kind": "agent_bootstrap",
|
|
88
|
+
"runtime": "installed_distribution",
|
|
89
|
+
"repository": ROOT,
|
|
90
|
+
"state_home": str(Path(_home).resolve()),
|
|
91
|
+
"project_id": _project_id,
|
|
92
|
+
"target_root": ROOT,
|
|
93
|
+
}
|
|
94
|
+
else:
|
|
95
|
+
_delegate_globals = {}
|
|
96
|
+
if "ANCHOR_REPOSITORY_PROVIDER" in globals():
|
|
97
|
+
_delegate_globals["ANCHOR_REPOSITORY_PROVIDER"] = globals()["ANCHOR_REPOSITORY_PROVIDER"]
|
|
98
|
+
_namespace = runpy.run_path(
|
|
99
|
+
str(_checkout / "agent_bootstrap.py"),
|
|
100
|
+
init_globals=_delegate_globals,
|
|
101
|
+
run_name="__odibi_anchor_checkout_bootstrap__",
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
_required = ("anchor", "ROOT", "MANIFEST", "ORIENTATION", "BOOTSTRAP")
|
|
105
|
+
_missing = tuple(name for name in _required if name not in _namespace)
|
|
106
|
+
if _missing:
|
|
107
|
+
raise RuntimeError(f"Odibi Anchor bootstrap omitted required values: {', '.join(_missing)}")
|
|
108
|
+
_bootstrap = _namespace["BOOTSTRAP"]
|
|
109
|
+
if not isinstance(_bootstrap, Mapping) or _bootstrap.get("success") is not True:
|
|
110
|
+
raise RuntimeError("Odibi Anchor bootstrap did not report success")
|
|
111
|
+
try:
|
|
112
|
+
_reported_repository = Path(_bootstrap["repository"]).resolve(strict=True)
|
|
113
|
+
except (KeyError, OSError, TypeError, ValueError) as exc:
|
|
114
|
+
raise RuntimeError("Odibi Anchor bootstrap reported an invalid repository") from exc
|
|
115
|
+
if _reported_repository != _checkout:
|
|
116
|
+
raise RuntimeError(
|
|
117
|
+
"Odibi Anchor bootstrap repository does not match the selected checkout: "
|
|
118
|
+
f"{_reported_repository} != {_checkout}"
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
anchor = _namespace["anchor"]
|
|
122
|
+
ROOT = _namespace["ROOT"]
|
|
123
|
+
MANIFEST = _namespace["MANIFEST"]
|
|
124
|
+
ORIENTATION = _namespace["ORIENTATION"]
|
|
125
|
+
BOOTSTRAP = _bootstrap
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Engineering Reference Library
|
|
2
|
+
|
|
3
|
+
This is Odibi Anchor's offline technical knowledge layer. Skills prescribe **how to work**;
|
|
4
|
+
references explain **the technology being worked on**. `registry.json` is the closed discovery
|
|
5
|
+
contract. Use `anchor("references")` to list, `anchor("references", "match", "query")` to find, and
|
|
6
|
+
`anchor("references", "load", "id")` to load full content. Task routing returns compact recommendations;
|
|
7
|
+
it never injects full documents or creates a compliance obligation.
|
|
8
|
+
|
|
9
|
+
For authoritative offline depth, search the licensed snapshots and load only the section needed:
|
|
10
|
+
|
|
11
|
+
```python
|
|
12
|
+
matches = anchor(
|
|
13
|
+
"references", "search", "interval selection resolve union",
|
|
14
|
+
reference_id="visualization.vega-lite", limit=5, output_format="dict",
|
|
15
|
+
)
|
|
16
|
+
section = anchor(
|
|
17
|
+
"references", "load-section", matches["sections"][0]["section_id"],
|
|
18
|
+
output_format="dict",
|
|
19
|
+
)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
`search` returns bounded previews, source revision, path/lines, and file/section digests without full
|
|
23
|
+
content. `load-section` returns one exact section capped at 32 KiB/200 lines. Search can be global or
|
|
24
|
+
scoped to a registry ID. Both operate entirely from the distributed manifest and snapshots; they do
|
|
25
|
+
not access the network, execute retained source, or write a cache.
|
|
26
|
+
|
|
27
|
+
## Authored catalog
|
|
28
|
+
|
|
29
|
+
- **Stack and APIs:** `visualization.stack`, `visualization.api-crosswalk`
|
|
30
|
+
- **Interaction:** `visualization.interactions`, plus the Vega/Vega-Lite/Altair guides
|
|
31
|
+
- **Power BI:** `visualization.deneb-powerbi`, `visualization.powerbi-portability`
|
|
32
|
+
- **Rendering/export:** `visualization.vl-convert`
|
|
33
|
+
- **Typed contracts:** `python.pydantic-v2`, `python.pydantic-contracts`
|
|
34
|
+
|
|
35
|
+
Load an authored guide first for decisions and boundaries, then search/load source sections for exact
|
|
36
|
+
signatures or schema behavior. A search match is evidence discovery, not proof that the section was
|
|
37
|
+
read. Source inspection does not prove browser, Databricks, or Power BI host behavior.
|
|
38
|
+
|
|
39
|
+
## Evidence labels
|
|
40
|
+
|
|
41
|
+
- **[D] Documented:** supported by an authoritative public document.
|
|
42
|
+
- **[S] Source-inspected:** checked against public source or a published schema.
|
|
43
|
+
- **[V] Runtime-verified:** exercised at the stated version in a retained runtime.
|
|
44
|
+
- **[H] Host-verified:** exercised in the named external host.
|
|
45
|
+
- **[U] Unverified:** not exercised in the required runtime or host; treat as a qualification item.
|
|
46
|
+
|
|
47
|
+
Absence of [V] or [H] is deliberate. Documentation evidence does not prove runtime or host behavior.
|
|
48
|
+
|
|
49
|
+
## Offline source snapshots
|
|
50
|
+
|
|
51
|
+
Each registry entry links to licensed, pinned source documentation, schemas, or API files under
|
|
52
|
+
`snapshots/`. `snapshots/manifest.json` records source repository, immutable revision, archive hash,
|
|
53
|
+
file hashes, license, and any source that could not be copied safely. These snapshots are available to
|
|
54
|
+
agents with no network connection; web URLs remain provenance and refresh locations only. Run
|
|
55
|
+
`scripts/update_engineering_reference_snapshots.py` with network access to rebuild the snapshots after
|
|
56
|
+
reviewing a version change. Never update from a floating branch.
|
|
57
|
+
|
|
58
|
+
## Updating the library
|
|
59
|
+
|
|
60
|
+
Use the controlled path:
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
observation → reference candidate → source/runtime verification → reviewed edit → published reference
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Structured learning may identify a candidate but never edits global guidance automatically. Update a
|
|
67
|
+
reference when a registry refresh trigger fires, retain authoritative URLs and exact baselines, label
|
|
68
|
+
unavailable evidence, validate the registry, review the diff, and publish through the ordinary Anchor
|
|
69
|
+
lifecycle. Keep project-specific findings in managed project artifacts rather than this distribution.
|
|
70
|
+
|
|
71
|
+
Do not copy upstream documentation wholesale. Add original synthesis, decision boundaries, executable
|
|
72
|
+
micro-examples, failure modes, and explicit host limitations. Employer or proprietary material is
|
|
73
|
+
never eligible for this library.
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# Assurance standards overlays
|
|
2
|
+
|
|
3
|
+
- **Reference ID:** `assurance.standards-overlays`
|
|
4
|
+
- **Authored-reference version:** `1.0.0`
|
|
5
|
+
- **Catalog baseline:** `1.0.0`
|
|
6
|
+
- **Canonical overlay catalog SHA-256:** `0277bea95ab65a69255794fe9e4d651a3fcf95548b6b980aa63f93de7ccc473b`
|
|
7
|
+
- **Combined core and overlay catalog SHA-256:** `f58e6ca37d29134e0ace3f94b96315746aa1fd324a1cd120e5f5da3e0cba5d8c`
|
|
8
|
+
- **Captured and last reviewed:** 2026-08-20
|
|
9
|
+
- **Verification label:** `documented`
|
|
10
|
+
|
|
11
|
+
This Odibi Anchor (Anchor) reference defines eight conditional assurance overlays. It is
|
|
12
|
+
original Anchor guidance informed by the sources in the provenance registry below; it is not an
|
|
13
|
+
imported checklist. An overlay contributes result and evidence expectations only after its
|
|
14
|
+
structured predicate is met. It grants no effect, changes no authority, selects no native skill,
|
|
15
|
+
and establishes no external-framework status.
|
|
16
|
+
|
|
17
|
+
Repository authority and executable checks outrank this reference. Applicable law, contract,
|
|
18
|
+
explicit owner constraints, effect controls, and safety gates remain authoritative and
|
|
19
|
+
stricter-wins. A reviewed repository exception may strengthen an expectation or explain why a
|
|
20
|
+
control does not concern a change, but it cannot weaken effect safety, evidence truthfulness, or
|
|
21
|
+
an explicit owner requirement.
|
|
22
|
+
|
|
23
|
+
## Applicability contract
|
|
24
|
+
|
|
25
|
+
Selection uses normalized structured facts only: work type, execution mode, assurance tier,
|
|
26
|
+
domains, traits, already-authorized declared effects, quality attributes, reviewed changed-path
|
|
27
|
+
classes, and repository capabilities. Free text, filenames alone, agent identity, and skill
|
|
28
|
+
selection are not predicate inputs. A path class must derive from normalized repository-relative
|
|
29
|
+
paths plus inspected file type or content signals; suffix alone cannot activate a high-risk
|
|
30
|
+
overlay. Selection never authorizes an effect.
|
|
31
|
+
|
|
32
|
+
Within a predicate, `ANY(field,{values})` means that the field's normalized set intersects the
|
|
33
|
+
listed set. `AND` and `OR` have their ordinary Boolean meanings. A selected overlay contributes
|
|
34
|
+
all three controls. Positive reasons use `domain:<value>`, `trait:<value>`, `effect:<value>`,
|
|
35
|
+
`path_class:<value>`, and `tier:<value>`; false predicates emit `predicate_not_met` and no
|
|
36
|
+
controls. Ordering is lexically stable.
|
|
37
|
+
|
|
38
|
+
### `security.application/1.0.0`
|
|
39
|
+
|
|
40
|
+
**Predicate:** `ANY(domains,{application,web,api,identity}) OR
|
|
41
|
+
ANY(traits,{handles_secrets,handles_personal_data,authentication,authorization,untrusted_input,network_exposed,cryptography})
|
|
42
|
+
OR ANY(declared_effects,{external_publish,permission_change,secret_change}) OR
|
|
43
|
+
ANY(changed_path_classes,{auth_boundary,security_policy,request_handler,secret_configuration})`
|
|
44
|
+
|
|
45
|
+
**Sources:** `nist.ssdf`, `owasp.asvs`
|
|
46
|
+
|
|
47
|
+
- `SEC-INPUT-01/1.0.0` — Untrusted input is constrained at its trust boundary and failure
|
|
48
|
+
behavior is tested.
|
|
49
|
+
- `SEC-AUTH-01/1.0.0` — Identity and authorization decisions deny unintended access in retained
|
|
50
|
+
positive and negative tests.
|
|
51
|
+
- `SEC-SECRET-01/1.0.0` — Secrets are neither embedded nor exposed and changed secret handling
|
|
52
|
+
has a revocation-safe path.
|
|
53
|
+
|
|
54
|
+
### `data.quality/1.0.0`
|
|
55
|
+
|
|
56
|
+
**Predicate:** `ANY(domains,{data,analytics}) OR
|
|
57
|
+
ANY(traits,{data_contract,data_transform,data_join,data_write,schema_change,personal_data}) OR
|
|
58
|
+
ANY(declared_effects,{data_mutation,schema_mutation}) OR
|
|
59
|
+
ANY(changed_path_classes,{schema,model,migration,pipeline,quality_rule})`
|
|
60
|
+
|
|
61
|
+
**Sources:** `iso.25012`, `uk.data-quality`
|
|
62
|
+
|
|
63
|
+
- `DAT-GRAIN-01/1.0.0` — The output grain and keys are explicit and checked for null or
|
|
64
|
+
duplicate violations.
|
|
65
|
+
- `DAT-VALID-01/1.0.0` — Critical values are checked against owned validity, completeness,
|
|
66
|
+
consistency, and timeliness rules.
|
|
67
|
+
- `DAT-TRACE-01/1.0.0` — Material transformations and source-to-output count differences are
|
|
68
|
+
attributable and unexplained loss is surfaced.
|
|
69
|
+
|
|
70
|
+
### `ai.agent-risk/1.0.0`
|
|
71
|
+
|
|
72
|
+
**Predicate:** `ANY(domains,{ai,ml,agent}) OR
|
|
73
|
+
ANY(traits,{model_inference,prompt_or_context_change,tool_calling,retrieval,autonomous_action,human_facing_ai_output,sensitive_model_input})
|
|
74
|
+
OR ANY(changed_path_classes,{prompt,model_config,agent_policy,tool_boundary,retrieval_policy})`
|
|
75
|
+
|
|
76
|
+
**Sources:** `nist.ai-rmf`, `owasp.genai`
|
|
77
|
+
|
|
78
|
+
- `AIR-BOUNDARY-01/1.0.0` — Model-controlled content is treated as untrusted and cannot expand
|
|
79
|
+
tool authority or bypass policy.
|
|
80
|
+
- `AIR-EVAL-01/1.0.0` — Material behavior changes have retained task-representative evaluations,
|
|
81
|
+
including misuse or failure cases.
|
|
82
|
+
- `AIR-HUMAN-01/1.0.0` — Consequential outputs expose limitations and retain the required human
|
|
83
|
+
decision or safe-stop boundary.
|
|
84
|
+
|
|
85
|
+
### `accessibility.user-interface/1.0.0`
|
|
86
|
+
|
|
87
|
+
**Predicate:** `ANY(domains,{frontend,user_interface,documentation}) AND
|
|
88
|
+
(ANY(traits,{user_facing_interaction,visual_content,audio_video,document_export}) OR
|
|
89
|
+
ANY(changed_path_classes,{ui_component,style,template,user_document}))`
|
|
90
|
+
|
|
91
|
+
**Sources:** `w3c.wcag`
|
|
92
|
+
|
|
93
|
+
- `A11Y-OPERATE-01/1.0.0` — Changed user interactions are operable by keyboard with visible
|
|
94
|
+
focus and no keyboard trap.
|
|
95
|
+
- `A11Y-PERCEIVE-01/1.0.0` — Changed non-text content, structure, status, and contrast have
|
|
96
|
+
programmatic or textual equivalents appropriate to the medium.
|
|
97
|
+
- `A11Y-ROBUST-01/1.0.0` — Changed interfaces retain meaningful names, roles, values, labels,
|
|
98
|
+
and error identification under supported assistive technology checks.
|
|
99
|
+
|
|
100
|
+
### `architecture.change/1.0.0`
|
|
101
|
+
|
|
102
|
+
**Predicate:** `ANY(traits,{new_component,component_boundary_change,public_contract_change,persistence_change,deployment_topology_change,cross_system_dependency})
|
|
103
|
+
OR ANY(declared_effects,{schema_mutation,infrastructure_mutation}) OR
|
|
104
|
+
ANY(changed_path_classes,{architecture_description,public_api,infrastructure,migration})`
|
|
105
|
+
|
|
106
|
+
**Sources:** `c4.model`, `arc42.template`, `adr.nygard`
|
|
107
|
+
|
|
108
|
+
- `ARC-CONTEXT-01/1.0.0` — Affected people, external systems, trust boundaries, and
|
|
109
|
+
system/component responsibilities are represented at the smallest useful level.
|
|
110
|
+
- `ARC-DECISION-01/1.0.0` — A consequential or hard-to-reverse design choice records context,
|
|
111
|
+
decision, alternatives, consequences, and status.
|
|
112
|
+
- `ARC-CONSIST-01/1.0.0` — Architecture descriptions, accepted decisions, interfaces, and
|
|
113
|
+
implementation do not materially contradict one another.
|
|
114
|
+
|
|
115
|
+
An architecture-description path selects this overlay only when the task changes or repairs an
|
|
116
|
+
authoritative architecture description. Incidental architecture vocabulary is not a positive
|
|
117
|
+
fact.
|
|
118
|
+
|
|
119
|
+
### `operations.reliability/1.0.0`
|
|
120
|
+
|
|
121
|
+
**Predicate:** `ANY(domains,{operations,reliability}) OR
|
|
122
|
+
ANY(traits,{production_runtime,scheduled_work,service_level,operational_dependency,on_call_change,capacity_change})
|
|
123
|
+
OR ANY(declared_effects,{deployment,infrastructure_mutation,production_configuration}) OR
|
|
124
|
+
ANY(changed_path_classes,{deployment,observability,runbook,scheduler,service_configuration})`
|
|
125
|
+
|
|
126
|
+
**Sources:** `google.sre`
|
|
127
|
+
|
|
128
|
+
- `OPS-SLI-01/1.0.0` — A user-relevant success signal and failure condition exist for the
|
|
129
|
+
changed production behavior.
|
|
130
|
+
- `OPS-FAIL-01/1.0.0` — Expected failure modes have bounded impact, actionable observation, and
|
|
131
|
+
a tested recovery or safe degradation path.
|
|
132
|
+
- `OPS-RUN-01/1.0.0` — Operator-facing steps name prerequisites, expected result, escalation,
|
|
133
|
+
verification, and rollback.
|
|
134
|
+
|
|
135
|
+
### `supply-chain.software/1.0.0`
|
|
136
|
+
|
|
137
|
+
**Predicate:** `ANY(traits,{dependency_change,build_change,release_change,artifact_production,third_party_action})
|
|
138
|
+
OR ANY(declared_effects,{external_publish,release}) OR
|
|
139
|
+
ANY(changed_path_classes,{dependency_manifest,lockfile,build_pipeline,release_pipeline,artifact_manifest})`
|
|
140
|
+
|
|
141
|
+
**Sources:** `nist.ssdf`, `slsa`
|
|
142
|
+
|
|
143
|
+
- `SUP-PROV-01/1.0.0` — Released artifacts are traceable to a specific source revision and
|
|
144
|
+
declared build process.
|
|
145
|
+
- `SUP-DEP-01/1.0.0` — Added or changed dependencies have reviewed origin, version, license,
|
|
146
|
+
integrity, compatibility, and known-vulnerability evidence.
|
|
147
|
+
- `SUP-BUILD-01/1.0.0` — The build does not silently consume undeclared mutable inputs and
|
|
148
|
+
retained metadata identifies material dependencies.
|
|
149
|
+
|
|
150
|
+
### `change-safety.high-risk/1.0.0`
|
|
151
|
+
|
|
152
|
+
**Predicate:** `assurance_tier = T3 AND
|
|
153
|
+
(ANY(traits,{safety_critical,regulated_process,irreversible_change,hazardous_process,large_blast_radius,control_logic_change})
|
|
154
|
+
OR ANY(declared_effects,{production_data_destructive,schema_destructive,permission_change,infrastructure_mutation}))`
|
|
155
|
+
|
|
156
|
+
**Sources:** `iec.fmea`, `iec.hazop`, `osha.moc`
|
|
157
|
+
|
|
158
|
+
- `HRC-CHANGE-01/1.0.0` — The proposed change identifies owner, reason, affected baseline,
|
|
159
|
+
prerequisites, authorization boundary, communication, verification, and restoration path.
|
|
160
|
+
- `HRC-FAILURE-01/1.0.0` — Credible failure modes identify local effect, wider consequence,
|
|
161
|
+
existing controls, detection, and an owned treatment without converting ordinal judgments
|
|
162
|
+
into false precision.
|
|
163
|
+
- `HRC-DEVIATION-01/1.0.0` — For hazardous process or control-logic changes, a qualified review
|
|
164
|
+
considers deviations from intended parameters, causes, consequences, safeguards, and actions
|
|
165
|
+
before execution.
|
|
166
|
+
|
|
167
|
+
Selection requires both `tier:T3` and at least one consequence trait or declared consequence
|
|
168
|
+
effect; both reasons remain visible.
|
|
169
|
+
|
|
170
|
+
## Result evidence
|
|
171
|
+
|
|
172
|
+
Every applicable control has exactly one assessment state:
|
|
173
|
+
|
|
174
|
+
| State | Meaning | Shadow projection |
|
|
175
|
+
| --- | --- | --- |
|
|
176
|
+
| `satisfied` | Every required result is present, current, scoped to the change, and passing. | pass |
|
|
177
|
+
| `failed` | A required result ran and shows that the control outcome is not met. | finding |
|
|
178
|
+
| `unavailable` | A required tool, host, permission, fixture, or result is absent, stale, unsupported, or scoped elsewhere. | open uncertainty |
|
|
179
|
+
| `not_assessed` | Applicable evidence has not yet been attempted. | open obligation |
|
|
180
|
+
| `not_applicable` | The predicate is false, or a reviewed structured decision proves that the control does not concern the change. | no obligation |
|
|
181
|
+
| `excepted` | A governed exception identifies control/version, rationale, owner, scope, expiry, and compensating evidence. | visible open risk |
|
|
182
|
+
|
|
183
|
+
Invocation, elapsed time, an unparsed zero exit status, prose assertions, and loading this
|
|
184
|
+
reference are not result evidence. An evidence record identifies producer, result kind,
|
|
185
|
+
target/scope, capture time, tool or source version, immutable digest, status, and limitations.
|
|
186
|
+
Scope-mismatched or stale evidence is `unavailable`, never `satisfied`. Requirements are
|
|
187
|
+
conjunctive unless a catalog version explicitly names typed, semantically equivalent
|
|
188
|
+
alternatives. Aggregate counts are presentation only; each failure stays visible.
|
|
189
|
+
|
|
190
|
+
### Evidence required by control family
|
|
191
|
+
|
|
192
|
+
- `SEC-*`: scoped threat/trust-boundary review and executable negative tests or a relevant
|
|
193
|
+
scanner result; `SEC-SECRET-01` also requires secret-leak inspection.
|
|
194
|
+
- `DAT-*`: declared contract and grain plus result-backed schema, key, business-rule, freshness,
|
|
195
|
+
or reconciliation checks as applicable. Profiling cannot establish an owned business rule.
|
|
196
|
+
- `AIR-*`: authority/data-flow review plus retained evaluation cases and observed outcomes.
|
|
197
|
+
Policy prose and provider assertions are insufficient.
|
|
198
|
+
- `A11Y-*`: an automated accessibility result plus retained manual keyboard and semantic checks
|
|
199
|
+
for the changed interaction. Automation alone cannot satisfy all three controls.
|
|
200
|
+
- `ARC-*`: inspected architecture or decision artifact plus implementation/interface consistency
|
|
201
|
+
review. Diagram existence alone is insufficient.
|
|
202
|
+
- `OPS-*`: observed test, simulation, or telemetry result and inspected runbook or rollback
|
|
203
|
+
evidence as applicable. An unexercised procedure is `not_assessed`.
|
|
204
|
+
- `SUP-*`: dependency/build metadata, integrity/provenance result, and vulnerability/license
|
|
205
|
+
review scoped to changed inputs. Package-manager success alone is insufficient.
|
|
206
|
+
- `HRC-*`: approved change record, multidisciplinary hazard review where applicable, and retained
|
|
207
|
+
precondition, verification, and rollback evidence. Tool-generated risk numbers are
|
|
208
|
+
insufficient.
|
|
209
|
+
|
|
210
|
+
## Source, license, and refresh provenance
|
|
211
|
+
|
|
212
|
+
`Baseline` identifies material used to derive original Anchor wording, not a target status. URLs are
|
|
213
|
+
provenance and refresh locations; selection performs no runtime network access. Every source was
|
|
214
|
+
captured for this authored-reference version on 2026-08-20. No paid source snapshot or restricted
|
|
215
|
+
source body is distributed.
|
|
216
|
+
|
|
217
|
+
| Source ID | Baseline and provenance URL | License and use boundary | Capture date | Refresh trigger |
|
|
218
|
+
| --- | --- | --- | --- | --- |
|
|
219
|
+
| `nist.ssdf` | NIST SP 800-218, SSDF v1.1, February 2022 — https://csrc.nist.gov/pubs/sp/800/218/final | US Government work; cite NIST and use concepts only. | 2026-08-20 | NIST publishes a revision, errata, or successor. |
|
|
220
|
+
| `owasp.asvs` | OWASP ASVS 5.0.0, May 2025 — https://owasp.org/www-project-application-security-verification-standard/ | Upstream CC BY-SA 4.0; preserve attribution while keeping Anchor wording original. | 2026-08-20 | The adopted ASVS major/minor version or license changes. |
|
|
221
|
+
| `iso.25012` | ISO/IEC 25012:2008, Data quality model — https://www.iso.org/standard/35736.html | Copyright ISO; retain bibliographic metadata and public concepts only, with no clauses or tables. | 2026-08-20 | ISO publishes an amendment, revision, or withdrawal. |
|
|
222
|
+
| `uk.data-quality` | UK Government Data Quality Framework, December 2020 — https://www.gov.uk/government/publications/the-government-data-quality-framework | Open Government Licence v3.0; attribute the source. | 2026-08-20 | GOV.UK marks it updated or publishes a successor. |
|
|
223
|
+
| `nist.ai-rmf` | NIST AI 100-1, AI RMF 1.0, January 2023, and NIST AI 600-1 Generative AI Profile, July 2024 — https://www.nist.gov/itl/ai-risk-management-framework | US Government works; cite NIST. | 2026-08-20 | NIST revises the RMF/profile or publishes applicable agent guidance. |
|
|
224
|
+
| `owasp.genai` | OWASP Top 10 for LLM Applications 2025 — https://genai.owasp.org/llm-top-10/ | Upstream CC BY-SA 4.0; original Anchor synthesis with attribution. | 2026-08-20 | OWASP publishes a new adopted list/version or changes scope/license. |
|
|
225
|
+
| `w3c.wcag` | WCAG 2.2, W3C Recommendation, 5 October 2023 — https://www.w3.org/TR/WCAG22/ | W3C Document License; link and paraphrase without republishing normative text. | 2026-08-20 | The Recommendation, errata, techniques, or supported-platform policy changes. |
|
|
226
|
+
| `c4.model` | C4 model website baseline captured 2026-08-20 — https://c4model.com/ | Copyright Simon Brown; site content CC BY 4.0. Attribute and use concepts only. | 2026-08-20 | Site version/license or adopted notation guidance changes. |
|
|
227
|
+
| `arc42.template` | arc42 template v8.2 — https://arc42.org/ | CC BY-SA 4.0; attribute without importing the template wholesale. | 2026-08-20 | The adopted arc42 release or license changes. |
|
|
228
|
+
| `adr.nygard` | Michael Nygard, “Documenting Architecture Decisions,” 2011 — https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions | Copyright source article; use the ADR concept with original Anchor template wording only. | 2026-08-20 | The canonical source changes or the project adopts another ADR contract. |
|
|
229
|
+
| `google.sre` | Google SRE Books online baseline captured 2026-08-20 — https://sre.google/books/ | Book text CC BY-NC-ND 4.0; link and use general concepts without copying or adapting text. | 2026-08-20 | License, canonical guidance, or adopted reliability policy changes. |
|
|
230
|
+
| `slsa` | SLSA specification v1.1 — https://slsa.dev/spec/v1.1/ | Community Specification License 1.0; cite and use provenance concepts without external-status claims. | 2026-08-20 | The adopted SLSA release, track model, or license changes. |
|
|
231
|
+
| `iec.fmea` | IEC 60812:2018, FMEA/FMECA — https://webstore.iec.ch/en/publication/26359 | Copyright IEC; metadata and general method concepts only, with no tables, scales, or clauses. | 2026-08-20 | IEC publishes an amendment, revision, or withdrawal. |
|
|
232
|
+
| `iec.hazop` | IEC 61882:2016, HAZOP studies — https://webstore.iec.ch/en/publication/24321 | Copyright IEC; metadata and general method concepts only, with no guide-word tables or clauses. | 2026-08-20 | IEC publishes an amendment, revision, or withdrawal. |
|
|
233
|
+
| `osha.moc` | OSHA 29 CFR 1910.119(l), Management of change — https://www.osha.gov/laws-regs/regulations/standardnumber/1910/1910.119 | US Government regulation; quote only when legally necessary and separately reviewed. This overlay is not legal advice. | 2026-08-20 | The regulation, an official interpretation, or the governing jurisdiction changes. |
|
|
234
|
+
|
|
235
|
+
A refresh candidate requires source review, a catalog-version decision, applicable tests, and
|
|
236
|
+
ordinary release review. Learning does not edit this reference or the catalog automatically.
|
|
237
|
+
|
|
238
|
+
## Limitations and safe use
|
|
239
|
+
|
|
240
|
+
- The catalog is a bounded assurance aid, not an audit opinion, accreditation, legal
|
|
241
|
+
determination, or complete framework assessment.
|
|
242
|
+
- Overlay selection does not prove that evidence exists, that a scanner or evaluator is complete,
|
|
243
|
+
or that a system is safe. Open evidence stays open.
|
|
244
|
+
- The high-risk overlay prompts qualified multidisciplinary review; Anchor does not perform a
|
|
245
|
+
statutory process-safety study or authorize a hazardous change.
|
|
246
|
+
- The accessibility overlay requires human checks where automation cannot observe the outcome.
|
|
247
|
+
- Security and AI overlays remain catalog/reference concerns; no native skill gains generic
|
|
248
|
+
security or AI ownership from this reference.
|
|
249
|
+
- Existing skills own procedures. This reference states applicable outcomes and result evidence
|
|
250
|
+
without replacing data, dependency, documentation, incident, testing, or review workflows.
|
|
251
|
+
- New controls, changed predicates, or changed source baselines require a versioned Spec and
|
|
252
|
+
review rather than an ad hoc edit.
|