-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitignore
More file actions
417 lines (397 loc) · 15.6 KB
/
Copy path.gitignore
File metadata and controls
417 lines (397 loc) · 15.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
# Python
__pycache__/
*.pyc
*.pyo
*.pyd
*.egg
*.egg-info/
pip-log.txt
pip-delete-this-directory.txt
# Build / distribution
dist/
dist-*/
build/
*.whl
*.tar.gz
# Optional infrastructure working state
**/.terraform/
*.tfstate
*.tfstate.*
*.tfplan
*.tfvars
*.tfvars.json
crash.log
crash.*.log
# Test / Coverage
.pytest_cache/
.hypothesis/
.coverage
.coverage.*
coverage.xml
htmlcov/
.tox/
.nox/
junit.xml
pytest-report.xml
test-results/
tests/validation/fixtures/
docs/accuracy.md
.ci-audit-requirements.txt
# Agent working files
/.agent/
/.grok/
# Local validation sweeps. Evaluated-target names and per-domain JSON output
# live here during accuracy work; never committed. Anything committed uses
# explicit synthetic identities under reserved namespaces or safe aggregates.
# Validation artifacts using real targets stay local.
# Generic tooling (runner, gap finder, diff, triage) is committed; the
# corpus and run outputs stay local so users can curate their own
# private test bed without leaking targets.
/validation/*
!/validation/audit_fingerprints.py
!/validation/run_corpus.py
!/validation/find_gaps.py
!/validation/diff_runs.py
!/validation/triage_candidates.py
!/validation/scan.py
!/validation/catalog_baseline.py
# Frozen, aggregate-only agent-portability preregistration and its network-free
# validator. Client transcripts, hidden reasoning, and run records remain under
# the ignored validation/agent-portability-local/ workspace.
!/validation/agent_portability_contract.py
!/validation/prepare_agent_portability_evaluation.py
!/validation/2026-08-14-agent-portability-preflight.md
# Generic catalog-round frame preparer; no target data is embedded.
!/validation/prepare_catalog_round.py
# Prior-sample drift contract and aggregate evaluator. Prior frames, retained
# results, comparison sidecars, and per-namespace differences remain private.
!/validation/prepare_catalog_drift_round.py
!/validation/evaluate_catalog_drift_round.py
# Generic private rank-band sampler and shared ranked-source primitives. Source,
# key, selected rows, and manifests remain under the ignored private roots.
!/validation/prepare_catalog_rank_frame.py
# Generic private ccTLD-delegation sampler. Official-source mappings, prior
# exclusions, keys, selected rows, and manifests remain private.
!/validation/prepare_catalog_region_frame.py
!/validation/prepare_catalog_region_sources.py
!/validation/ranked_sampling.py
!/validation/stratify_catalog_round.py
# Generic vendor-seed contract and aggregate evaluator. Provider-controlled
# sources, target membership, and per-domain results remain private.
!/validation/archive_vendor_seed_sources.py
!/validation/prepare_vendor_seed_round.py
!/validation/evaluate_vendor_seed_round.py
!/validation/summarize_ct_sessions.py
!/validation/corpus-example.txt
!/validation/README.md
# v1.9: publicly-reproducible calibration scripts. Both operate
# against either the synthetic-network distribution or a user-supplied
# corpus; neither contains target data.
!/validation/synthetic_calibration.py
!/validation/likelihood_sensitivity.py
!/validation/analyze_v19_calibration.py
# Differential verification of the inference core: independent full-joint
# reference, no target data (synthetic network only). Imported by the test.
!/validation/differential_verification.py
# Adversarial-property check: the suppression-monotonicity theorem as an
# exhaustive machine-checked invariant over the shipped network. No target
# data (network dataclasses only). Imported and gated by the test.
!/validation/adversarial_properties.py
# PV2 inference drift gate: deterministic CPT-implied marginals of the shipped
# network. No corpus / company data (node names + numbers only). Gated by the test.
!/validation/drift_check.py
!/validation/inference_baseline.json
# Credible-interval perturbation-coverage harness + memo: synthetic worlds only,
# aggregate numbers, no target data. Imported and gated by the test.
!/validation/interval_coverage.py
!/validation/interval-coverage.md
# Mutation-gate memo: scope, kill-set rationale, score floor, survivor
# dispositions. Counts and node ids only, no target data.
!/validation/mutation-gate.md
# Reference-calibration harness + memo: pure label/Wilson/calibration logic plus a
# maintainer-local network orchestration that prints aggregates only. The
# committed files carry no target data (synthetic worked example only). The pure
# logic is unit-tested.
!/validation/calibration_estimators.py
!/validation/reference_calibration.py
!/validation/reference-calibration.md
# Shared resolve-sweep progress helper: a throttled stderr heartbeat for the
# network harnesses (counts only, no target data). Pure async logic, unit-tested.
!/validation/progress.py
# Conformal-coverage harness: distribution-free split-conformal coverage on the
# labelable nodes (pure logic plus a maintainer-local orchestration that prints
# aggregates only). No target data; the pure logic is unit-tested.
!/validation/conformal_coverage.py
# Aggregate calibration memo renderer: reads private-run aggregate JSON, applies
# disclosure checks, and emits a reviewable aggregate memo. No target data.
!/validation/render_calibration_memo.py
# Private calibration bundle runner: orchestrates the reference, tenancy, and
# conformal harnesses into a gitignored run directory. No target data.
!/validation/run_calibration_bundle.py
# Tenancy reference-calibration harness: corroborates the M365 tenancy posterior
# (DNS channel only) against the provider's identity-endpoint attestation; GWS
# reported one-sided. Pure label/channel-split logic is unit-tested; the
# orchestration is maintainer-local and prints aggregates only. No target data.
!/validation/tenancy_reference_calibration.py
# Power analysis for the frozen product-quality decision rule: pure arithmetic
# (exact Clopper-Pearson bounds by binomial-CDF bisection), no network, no
# corpus, no third-party dependency. Reproduces the sample-size tables in
# docs/quality-baseline-preregistration.md. No target data.
!/validation/quality_power_analysis.py
# Network-free structural audit for the frozen v2.11 M365 arms. Enumerates
# abstract evidence-role states only and reads no corpus or target data.
!/validation/quality_arm_identifiability.py
!/validation/2026-08-13-quality-arm-identifiability.md
# Aggregate-only live product-quality characterization. The runner is public;
# its corpus and generated reports remain under the private roots below.
!/validation/characterize_live_quality.py
!/validation/2026-08-12-stable-v1-live-characterization.md
# Private evaluation-frame preparer. The generic HMAC sampler is public; source,
# key, membership, and collection outputs remain under the private roots below.
!/validation/prepare_quality_evaluation_frame.py
# Layer-ablation harness + memo: fully synthetic (model-sampled worlds, planted
# partitions, fictional hostnames), deterministic, publishable. No target data.
!/validation/layer_ablation.py
!/validation/layer-ablation.md
# Posture-distribution harness + memo: entropy-reduction and interval-width
# distributions stratified by observable posture. Pure aggregation logic is
# unit-tested; the orchestration is maintainer-local and prints aggregates
# only (quantiles, bucket means). No target data.
!/validation/posture_distributions.py
!/validation/public-list-calibration.md
!/validation/reproduce_paper_numbers.py
!/validation/2026-06-19-paper-reproduction-smoke.md
!/validation/2026-06-28-hybrid-interval-smoke.md
!/validation/2026-06-28-hybrid-interval-paper.md
!/validation/2026-06-28-adversarial-perturbation-paper.md
!/validation/2026-06-28-final-claim-audit.md
!/validation/2026-06-29-final-claim-audit-refresh.md
!/validation/2026-06-29-scorecard-gate-claim-audit.md
!/validation/2026-06-29-submission-freeze-local-proof.md
!/validation/2026-06-30-submission-freeze-local-proof.md
!/validation/2026-06-19-crowdstrike-match-mode.md
!/validation/2026-06-19-supabase-cname-target.md
# Full-corpus calibration run (2026-06-23): aggregate-only memo rendered through
# the disclosure-checked renderer. No apexes, org names, tenant IDs, or per-domain
# rows; strata below 10 domains suppressed.
!/validation/2026-06-23-full-corpus-calibration.md
!/validation/2026-06-28-full-corpus-calibration-refresh.md
!/validation/2026-06-19-msedge-triad-motif.md
# Exchange Online DKIM suffix-match validation (2026-06-26): aggregate counts
# only, no apexes/org names/tenant IDs/per-domain rows.
!/validation/2026-06-26-onmicrosoft-suffix-match.md
# Typed DNS catalog baseline (2026-07-17): aggregate counts and generic
# provider patterns only. No target names, target records, tenant IDs, or rows.
!/validation/2026-07-17-typed-catalog-baseline.md
# Regional catalog result (2026-08-13): aggregate counts, commitments,
# and provider-controlled references only. No selected namespaces or rows.
!/validation/2026-08-13-catalog-regional-round.md
# Vendor-seed catalog result (2026-08-14): disclosure-safe provider counts,
# exact reducer output, commitments, and no target rows or record values.
!/validation/2026-08-14-catalog-vendor-seed-round.md
!/validation/2026-08-14-catalog-vendor-seed-aggregate.json
# Prior-sample catalog drift result (2026-08-14): disclosure-safe aggregate
# outcomes and commitments only. No target names, records, candidates, or rows.
!/validation/2026-08-14-catalog-drift-round.md
!/validation/2026-08-14-catalog-drift-aggregate.json
# Phase 1 product-quality baseline (2026-08-05): generated by
# scripts/quality_scorecard.py from the registered MCP surface and the shipped
# catalog. Network-free and corpus-free, so it contains protocol byte counts and
# catalog counts only. No target names, records, tenant IDs, or rows.
!/validation/2026-08-05-quality-baseline-scorecard.md
# Per-pattern base-rate reducer and its aggregate memo (2026-07-25):
# provider-owned patterns and aggregate counts only; the reducer never
# reads target-identifying fields and its output stays in ignored paths.
!/validation/pattern_base_rates.py
!/validation/slug_cooccurrence.py
!/validation/2026-07-25-pattern-base-rates.md
# v2.1a: aggregate-state methodology example. Fully synthetic (numbered
# reserved identities, fabricated numbers); the reference reducer, generator, and synthetic
# cohort are public. Real cohorts stay local. The reducer run-output is a
# regenerable artifact (the doc shows how), so it stays out of the repo.
!/validation/aggregate/
/validation/aggregate/example_output.json
# v1.9.2.2: LLM-assisted triage runner for fingerprint candidates.
# Reads private candidates.json (gitignored) and emits generic
# YAML stanzas that are safe to commit. The runner itself is
# generic catalog-growth tooling.
!/validation/triage_llm.py
# Per-release corpus-validation reports: statistics + technical
# narrative; no per-domain data. The full result JSONs
# (v1.8-validation-results*.json, v1.9-validation-results*.json, ...)
# stay private under the /validation/* glob.
!/validation/v1.8-validation-summary.md
!/validation/v1.9-validation-summary.md
!/validation/v1.9.3-calibration.md
!/validation/v1.9.4-calibration.md
!/validation/analyze_v19_4_hardened.py
!/validation/v1.9.5-stability.md
!/validation/compute_node_stability.py
!/validation/v1.9.6-stability-update.md
!/validation/v1.9.8-metadata-audit.md
!/validation/v1.9.9-detection-gap-ux.md
!/validation/v1.9.9-corpus-run.md
!/validation/threshold_sensitivity.md
!/validation/threshold_sensitivity.py
!/validation/coverage_gap_audit.md
!/validation/performance_baseline.md
!/validation/invariant_audit.md
!/validation/agentic_ux_v199_runbook.md
!/validation/v1.9.10-pre-lock.md
!/validation/v1.9.10-bayesian-revalidation.md
!/validation/v1.9.10-mutation-status.md
!/validation/v2.0-prep-baseline.md
!/validation/v2.0-corpus-run-runbook.md
!/validation/v2.0-corpus-run.md
!/validation/v1.9.11-trend-table.md
!/validation/v2.0-validation-summary.md
!/validation/v2.0-release-notes-draft.md
!/validation/v2.0-lock-ceremony.md
!/validation/v1.9.24-candidates-triage.md
!/validation/v1.9.26-schema-contract.md
!/validation/2026-06-02-calibration.md
!/validation/v1.9.87-c2-corpus-batch.md
!/validation/2026-06-04-case-study-spot-check.md
!/validation/cal8-likelihood-sensitivity.md
!/validation/cal14-missingness-design.md
!/validation/corpus_aggregator.py
!/validation/synthetic_corpus/
!/validation/synthetic_corpus/**
/validation/synthetic_corpus/**/__pycache__/
# Adversarial DNS-record corpus (2026-08-17): hand-authored .invalid record sets,
# the build_source_result helper, the end-to-end runner, and its aggregate-only
# results. No real target data by construction; every value is a reserved-namespace
# or documented-vendor-reference record string.
!/validation/adversarial_corpus/
!/validation/adversarial_corpus/**
/validation/adversarial_corpus/**/__pycache__/
!/validation/2026-08-17-adversarial-corpus-round.md
# validation/__init__.py: added in v1.9.2 to make ``validation`` a
# proper package (previously implicit namespace) so static analysis
# resolves intra-package imports cleanly.
!/validation/__init__.py
# v1.9.2 agentic UX validation harness. Dev-only tooling. Fixtures use
# explicit synthetic identities under the reserved .invalid namespace. Detailed reports,
# transcripts, raw records, and any private-corpus outputs must stay under
# runs/ or local/ inside the harness, both of which are ignored below.
!/validation/agentic_ux/
!/validation/agentic_ux/**
# Re-ignore Python build/cache artifacts and any per-run output dirs
# inside the harness even though the parent is whitelisted above.
/validation/agentic_ux/**/__pycache__/
/validation/agentic_ux/runs/
/validation/agentic_ux/local/
!/validation/v1.9.2-agentic-ux.md
# User-curated private corpus + run outputs. Never commit.
/validation/corpus-private/
/validation/runs-private/
/validation/live_runs/
/validation/local/
# Per-company live JSON dumps from ad-hoc validation runs. Real
# company names belong in /validation/ (already gitignored above) or
# discarded after analysis. These patterns belt-and-suspenders the
# repo root so a stray `recon foo.com --json > foo.json` never
# accidentally lands in a commit.
/*.com.json
/*.org.json
/*.net.json
/*.io.json
/*.so.json
/*.gov.json
/*.edu.json
/*.co.json
/sc-*.json
/v1_*_dive/
/v1_*_validation*/
# Linting / Type checking
.ruff_cache/
.mypy_cache/
.dmypy.json
.pyre/
.pytype/
.pyright/
# Mutation-testing session state and any other tool-specific
# scratch files. Tools that need session state should write into
# .mutmut-cache/, .cosmic-ray/, or similar. Never the repo root.
# These globs catch the ones that ignore the convention.
cosmic-ray*.sqlite
cosmic-ray*.toml
.mutmut-cache/
.cosmic-ray/
.hypothesis/
# Stray scratch files that occasionally land in root from
# interrupted shell sessions or crashed tools. Each pattern matches
# garbage that should not be committed. (.stackdump, .DS_Store,
# Thumbs.db are already covered by the OS-artefact section below.)
core
*.core
nohup.out
test-output.txt
test-output-*.txt
scratch.py
scratch-*.py
_scratch*
tmp/
_tmp/
# IDE / editors
.vscode/
.vs/
.idea/
*.swp
*.swo
*~
# Merge / rebase artifacts
*.orig
*.rej
# Jupyter
.ipynb_checkpoints/
# direnv
.envrc
.direnv/
# Claude Code local settings
.claude/
CLAUDE.md
CLAUDE.local.md
# OS
.DS_Store
Thumbs.db
Desktop.ini
$RECYCLE.BIN/
*.stackdump
# Env
.env
.env.local
.env.*.local
.venv/
.venv-*/
venv/
env/
# Credentials. Defensive rules. A passive-recon tool should never
# commit keys or credentials, even local test ones. Prefer
# RECON_CONFIG_DIR or a secrets manager over dropping files in-tree.
*.pem
*.key
*.p12
*.pfx
*.jks
id_rsa
id_rsa.*
id_dsa
id_dsa.*
id_ecdsa
id_ecdsa.*
id_ed25519
id_ed25519.*
credentials.json
secrets.yaml
secrets.yml
# Logs
*.log
/logs/
# Kiro
.kiro/
/archive
docs/archive/
_local_gate.sh
# Mutation-testing session DB (regenerable; the config mutation.toml is committed).
/mutation.sqlite