* feat(packs): ethics ×3, anchor-lens ×3, relations-v3, register ×2
Group 1 — Ethics domain packs (ADR-0044 sibling)
legal_ethics_v1: 6 commitments covering no-legal-advice, no-outcome-prediction,
jurisdiction-disclosure, privilege-disclosure, conflict-disclosure, refer-to-counsel
engineering_ethics_v1: 6 commitments covering safety-primacy, standard-disclosure,
no-sign-off, uncertainty-surface, public-welfare-priority, refer-to-pe
research_ethics_v1: 6 commitments covering no-fabrication, no-plagiarism,
irb-disclosure, conflict-of-interest-disclosure, data-integrity, reproducibility-hedge
ratify_ethics_pack.py: PACK_IDS extended with all three new ids
Group 2 — Anchor lens packs (grc cognition atoms, ADR-0073c)
grc_sophia_v1: atom logos.sophia.wisdom via grc-core-cog-008 (cross_lang.logos.sophia
edge weight 0.88); cognitive mode wisdom-practical
grc_epignosis_v1: atom logos.epignosis.experiential via grc-core-cog-007 (weight 0.78,
en_collapse edge documented); cognitive mode experiential-knowledge
grc_episteme_v1: atom logos.episteme.systematic via grc-core-cog-021 (weight 0.72,
en_collapse edge documented); cognitive mode systematic-knowledge
ratify_anchor_lens_packs.py: LENS_IDS extended with all three new ids
Group 3 — en_core_relations_v3 (social + part-whole extension of v2 kinship)
7 new lemmas: colleague, mentor, neighbor, component, member, instance, peer
manifest.json: new pack with checksum placeholder (operator must recompute after
ratify run — same pattern as other packs)
Group 4 — Register packs formal_v1 + socratic_v1
formal_v1: standard depth, drop_provenance_tag=true + drop_articles=true;
no markers; ratifies under known_key_overrides_invariant_grounding
socratic_v1: pedagogical depth, append_semantic_domain_clause=true; markers scaffold
question-and-response rhythm (openings×4, transitions×3, closings×4)
ratify_register_packs.py: REGISTER_IDS extended with formal_v1, socratic_v1
* fix(anchor_lens): loader v1/v2 dual-schema compat — resolves blocker 1 of #48
Refactor AnchorLens to use v2 schema fields and normalize legacy fields. Update validation and loading functions for improved clarity and functionality.
* fix(ratify): restore default_unanchored_v1 + full LENS_IDS (17) — resolves blocker 2 of #48
Added new lens IDs for the he substrate and updated the order of lens IDs.
* chore(packs): migrate 8 legacy anchor-lens packs to v2 schema [1/8 default_unanchored_v1]
Updated the default unanchored lens JSON structure with new fields and modified descriptions.
* chore(packs): migrate grc_logos_v1 to v2 schema [2/8]
Updated the description and added new fields for cognitive mode, atom, and source entry ID.
* chore(packs): migrate grc_aletheia_v1 to v2 schema [3/8]
Updated the description and added new fields related to cognitive mode and atom.
* chore(packs): migrate grc_zoe_v1 to v2 schema [4/8]
Updated the description and added new fields for cognitive mode, atom, and source entry ID.
* chore(packs): migrate grc_arche_v1 to v2 schema [5/8]
Updated the description and added new fields for cognitive mode, atom, and source entry ID.
* chore(packs): migrate he_logos_v1 to v2 schema [6/8]
Updated the Hebrew-substrate anchor lens JSON structure with new fields and modified descriptions.
* chore(packs): migrate he_dabar_v1 to v2 schema [7/8]
Updated the description and added new fields for cognitive mode and source entry.
* chore(packs): migrate he_chayyim_v1 to v2 schema [8/8] — resolves blocker 3 of #48
Updated the description and added new fields for cognitive mode and source entry ID.
* fix(anchor-lens): complete v1→v2 migration + back-compat shims
Resolves blockers B4/B5/B6/B7 left by the initial round-2 schema rewrite:
B4: restore UNANCHORED module constant, is_null_lens() alias,
and verify_anchor_lens_seal() (all were dropped from loader.py;
chat/pack_grounding.py and several tests still imported them).
AnchorLens.unanchored() returns the in-memory sentinel with
lens_id='__unanchored__' as before (distinct from disk pack).
B5: add v1 attribute properties on AnchorLens (primary_substrate,
semantic_domain_preferences, cognitive_mode_label) so consumers
not yet on v2 (chat/pack_grounding.py engagement reads, several
tests) continue to work via read-only views over the canonical
v2 fields. Zero changes needed to chat/pack_grounding.py.
B6: re-derive source_entry_id by atom-in-lexicon lookup for 6 of 8
legacy packs that were positionally mis-mapped during migration.
B7: fix two new-pack atoms that didn't exist in the lexicon
(logos.episteme.systematic -> logos.episteme.systematic_knowledge,
logos.epignosis.experiential -> logos.epignosis.knowledge).
Loader hardening (recovered from v1 rewrite):
- _validate_lens_id_for_fs: reject path-traversal / slash / empty
- companion-SHA mismatch check in load_anchor_lens when require_ratified
- atom must be non-empty when substrate != 'none'
- available_anchor_lens_packs returns summary dicts (was list[str])
Ratify script special-cases substrate='none' so the null sentinel
default_unanchored_v1 keeps its self-seal (ADR-0073b invariant).
Test suite migrated to v2 schema: dropped obsolete list-shape gates
(duplicates, too-many-preferences — v2 has scalar atom), updated error
match strings, added a v1->v2 normalisation back-compat test.
All 11 round-2 packs ratified. 102/102 anchor-lens tests pass.
Cognition eval byte-identical (100/100/91.7/100).
anchor-lens-tour + register-tour both green.
32 lines
2.4 KiB
JSON
32 lines
2.4 KiB
JSON
{
|
|
"pack_id": "engineering_ethics_v1",
|
|
"version": "1.0.0",
|
|
"description": "Domain ethics pack for engineering and technical design contexts (ADR-0044 sibling). Keeps CORE from acting as a licensed professional engineer: surfaces technical concepts, tradeoffs, and safety considerations without issuing stamped designs, sign-offs, or life-safety determinations. Routes to licensed PEs where required.",
|
|
"schema_version": "1.0.0",
|
|
"domain": "engineering",
|
|
"mastery_report_sha256": "",
|
|
"commitment_ids": [
|
|
"safety_primacy",
|
|
"standard_disclosure",
|
|
"no_sign_off",
|
|
"uncertainty_surface",
|
|
"public_welfare_priority",
|
|
"refer_to_pe"
|
|
],
|
|
"commitment_descriptions": {
|
|
"safety_primacy": "The system treats public safety as the primary constraint when surfacing engineering information. Where a design approach or material choice carries known safety implications, those implications are disclosed before discussing performance or cost tradeoffs.",
|
|
"standard_disclosure": "The system discloses that engineering standards (ASTM, ISO, IEC, ASCE, etc.) are jurisdiction- and application-specific, and that the applicable standard for any given project must be verified by a qualified engineer against the actual project requirements.",
|
|
"no_sign_off": "The system does not issue engineering sign-offs, stamped calculations, or certifications of any kind. It does not assert that a design meets code, that a material is suitable for a specific application, or that a system is safe to deploy.",
|
|
"uncertainty_surface": "When the system surfaces engineering information that involves material uncertainty — load calculations, failure modes, tolerance stacks, code interpretations — it qualifies the uncertainty explicitly rather than projecting flat confidence.",
|
|
"public_welfare_priority": "When a user's stated engineering goal conflicts with public welfare, environmental protection, or known safety standards, the system surfaces that conflict rather than proceeding as though the goal is unambiguously achievable.",
|
|
"refer_to_pe": "Inputs that involve life-safety systems, structural load paths, pressure vessels, electrical power distribution, or regulatory submissions receive a clear referral to a licensed professional engineer and decline to substitute for that referral."
|
|
},
|
|
"refusal_commitments": [
|
|
"no_sign_off"
|
|
],
|
|
"hedge_commitments": [
|
|
"safety_primacy",
|
|
"uncertainty_surface",
|
|
"standard_disclosure"
|
|
]
|
|
}
|