packet-tracer-skill 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +424 -73
  2. package/README.md +557 -442
  3. package/SKILL.md +337 -262
  4. package/bin/packet-tracer-skill.js +29 -2
  5. package/docs/github-launch-ops-0.2.3.md +37 -0
  6. package/docs/github-metadata.md +6 -4
  7. package/docs/hero-demo-plan.md +1 -1
  8. package/docs/home-iot-donor-proof.md +4 -4
  9. package/docs/l2-security-qos-proof.md +1 -1
  10. package/docs/packet-tracer-feature-gap-atlas.md +4 -4
  11. package/docs/post-launch-follow-up.md +9 -5
  12. package/docs/proof-readiness-dashboard.md +69 -0
  13. package/docs/publish-preview-roadmap.md +6 -5
  14. package/docs/release-checklist.md +17 -8
  15. package/docs/release-notes-0.2.4.md +20 -0
  16. package/docs/runtime-truth.md +33 -8
  17. package/docs/security-edge-deepening-proof.md +1 -1
  18. package/examples/README.md +98 -69
  19. package/examples/complex_campus_master_edit_v4.inventory.json +12 -2
  20. package/examples/gallery.md +94 -6
  21. package/examples/home_iot_cli_edit_v1.inventory.json +11 -2
  22. package/examples/index.json +932 -4
  23. package/examples/local-sample-evidence.json +24 -0
  24. package/examples/proof-cards.json +117 -0
  25. package/examples/service_heavy_cli_edit_v1.inventory.json +11 -2
  26. package/package.json +60 -53
  27. package/pytest.ini +9 -0
  28. package/references/packettracer-sample-catalog.json +45287 -4525
  29. package/references/packettracer-sample-catalog.md +599 -259
  30. package/references/proof-readiness-candidates.json +352 -0
  31. package/scripts/build_examples_index.py +228 -35
  32. package/scripts/build_sample_catalog.py +24 -44
  33. package/scripts/corpus_runner.py +430 -0
  34. package/scripts/coverage_matrix.py +1842 -1812
  35. package/scripts/donor_cache.py +354 -0
  36. package/scripts/donor_diagnostics.py +3 -1
  37. package/scripts/generate_pkt.py +8762 -4228
  38. package/scripts/intent_parser.py +2242 -1657
  39. package/scripts/local_donors.py +340 -0
  40. package/scripts/packet_tracer_env.py +846 -391
  41. package/scripts/pkt_annotate.py +218 -0
  42. package/scripts/pkt_codec.py +420 -181
  43. package/scripts/pkt_editor.py +2405 -1703
  44. package/scripts/pkt_transformer.py +1072 -727
  45. package/scripts/pkt_verify.py +461 -0
  46. package/scripts/runtime_doctor.py +80 -29
  47. package/scripts/sample_catalog.py +1372 -1250
  48. package/scripts/twofish_diagnostics.py +48 -31
  49. package/scripts/usage_ledger.py +218 -0
  50. package/scripts/vendor/README.md +44 -37
  51. package/scripts/vendor/twofish_pure.py +321 -0
  52. package/scripts/workspace_repair.py +548 -508
  53. package/templates/pt900/donors/README.md +15 -0
@@ -0,0 +1,352 @@
1
+ {
2
+ "schema_version": "proof_readiness.v1",
3
+ "available": true,
4
+ "release_line": "0.2.4 candidate",
5
+ "dashboard_doc": "docs/proof-readiness-dashboard.md",
6
+ "policy": "Promotion candidates are planning truth only. A capability can move to donor_backed_ready only after explicit command shape, sample evidence, decode evidence, editor roundtrip, deterministic target resolution, and clean refusal behavior all exist.",
7
+ "generate_ready": 0,
8
+ "primary_candidates": [
9
+ {
10
+ "capability": "ospfv2",
11
+ "scenario_family": "ipv4_routing_management",
12
+ "current_status": "edit_proven",
13
+ "local_sample_count": 50,
14
+ "proof_doc": "docs/ipv4-routing-management-proof.md",
15
+ "next_safe_action": "Add proof-linked selected-donor readiness for explicit OSPFv2 IOS network commands.",
16
+ "promotion_blocker": "blocked_by_no_deterministic_target",
17
+ "explicit_command": "set R1 ospfv2 1 network 10.0.0.0 wildcard 0.0.0.255 area 0",
18
+ "required_evidence": [
19
+ "explicit_command_shape",
20
+ "parser_family_regression",
21
+ "decode_backed_sample_evidence",
22
+ "editor_roundtrip_test",
23
+ "deterministic_target_resolution",
24
+ "clean_ambiguity_refusal"
25
+ ],
26
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
27
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
28
+ },
29
+ {
30
+ "capability": "eigrp_ipv4",
31
+ "scenario_family": "ipv4_routing_management",
32
+ "current_status": "edit_proven",
33
+ "local_sample_count": 22,
34
+ "proof_doc": "docs/ipv4-routing-management-proof.md",
35
+ "next_safe_action": "Add proof-linked readiness for explicit EIGRP IPv4 network commands with router target validation.",
36
+ "promotion_blocker": "blocked_by_no_deterministic_target",
37
+ "explicit_command": "set R1 eigrp ipv4 100 network 10.0.0.0 wildcard 0.0.0.255 no-auto-summary",
38
+ "required_evidence": [
39
+ "explicit_command_shape",
40
+ "parser_family_regression",
41
+ "decode_backed_sample_evidence",
42
+ "editor_roundtrip_test",
43
+ "deterministic_target_resolution",
44
+ "clean_ambiguity_refusal"
45
+ ],
46
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
47
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
48
+ },
49
+ {
50
+ "capability": "ripv2",
51
+ "scenario_family": "ipv4_routing_management",
52
+ "current_status": "edit_proven",
53
+ "local_sample_count": 61,
54
+ "proof_doc": "docs/ipv4-routing-management-proof.md",
55
+ "next_safe_action": "Promote explicit RIPv2 IOS commands after selected donor and interface scope are locked.",
56
+ "promotion_blocker": "blocked_by_no_deterministic_target",
57
+ "explicit_command": "set R1 rip version 2 network 10.0.0.0 no-auto-summary",
58
+ "required_evidence": [
59
+ "explicit_command_shape",
60
+ "parser_family_regression",
61
+ "decode_backed_sample_evidence",
62
+ "editor_roundtrip_test",
63
+ "deterministic_target_resolution",
64
+ "clean_ambiguity_refusal"
65
+ ],
66
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
67
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
68
+ },
69
+ {
70
+ "capability": "static_route",
71
+ "scenario_family": "ipv4_routing_management",
72
+ "current_status": "edit_proven",
73
+ "local_sample_count": 87,
74
+ "proof_doc": "docs/ipv4-routing-management-proof.md",
75
+ "next_safe_action": "Promote explicit static/default route commands where gateway and router target are deterministic.",
76
+ "promotion_blocker": "blocked_by_no_deterministic_target",
77
+ "explicit_command": "set R1 static-route 192.168.10.0/24 via 10.0.0.1",
78
+ "required_evidence": [
79
+ "explicit_command_shape",
80
+ "parser_family_regression",
81
+ "decode_backed_sample_evidence",
82
+ "editor_roundtrip_test",
83
+ "deterministic_target_resolution",
84
+ "clean_ambiguity_refusal"
85
+ ],
86
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
87
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
88
+ },
89
+ {
90
+ "capability": "default_route",
91
+ "scenario_family": "ipv4_routing_management",
92
+ "current_status": "edit_proven",
93
+ "local_sample_count": 56,
94
+ "proof_doc": "docs/ipv4-routing-management-proof.md",
95
+ "next_safe_action": "Use the same selected-donor proof path as static_route, but keep broad routing design blocked.",
96
+ "promotion_blocker": "blocked_by_no_deterministic_target",
97
+ "explicit_command": "set R1 static-route 0.0.0.0/0 via 10.0.0.1",
98
+ "required_evidence": [
99
+ "explicit_command_shape",
100
+ "parser_family_regression",
101
+ "decode_backed_sample_evidence",
102
+ "editor_roundtrip_test",
103
+ "deterministic_target_resolution",
104
+ "clean_ambiguity_refusal"
105
+ ],
106
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
107
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
108
+ },
109
+ {
110
+ "capability": "dhcp_relay",
111
+ "scenario_family": "ipv4_routing_management",
112
+ "current_status": "edit_proven",
113
+ "local_sample_count": 24,
114
+ "proof_doc": "docs/ipv4-routing-management-proof.md",
115
+ "next_safe_action": "Promote explicit helper-address edits only when interface and relay server are named or uniquely resolved.",
116
+ "promotion_blocker": "blocked_by_no_deterministic_target",
117
+ "explicit_command": "set R1 dhcp-relay interface GigabitEthernet0/0 helper 192.168.1.10",
118
+ "required_evidence": [
119
+ "explicit_command_shape",
120
+ "parser_family_regression",
121
+ "decode_backed_sample_evidence",
122
+ "editor_roundtrip_test",
123
+ "deterministic_target_resolution",
124
+ "clean_ambiguity_refusal"
125
+ ],
126
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
127
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
128
+ },
129
+ {
130
+ "capability": "ssh_ios",
131
+ "scenario_family": "ipv4_routing_management",
132
+ "current_status": "edit_proven",
133
+ "local_sample_count": 27,
134
+ "proof_doc": "docs/ipv4-routing-management-proof.md",
135
+ "next_safe_action": "Promote explicit IOS SSH setup when router target, domain, username, and modulus are deterministic.",
136
+ "promotion_blocker": "blocked_by_no_deterministic_target",
137
+ "explicit_command": "set R1 ssh domain lab.local username admin password cisco123 modulus 1024",
138
+ "required_evidence": [
139
+ "explicit_command_shape",
140
+ "parser_family_regression",
141
+ "decode_backed_sample_evidence",
142
+ "editor_roundtrip_test",
143
+ "deterministic_target_resolution",
144
+ "clean_ambiguity_refusal"
145
+ ],
146
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
147
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
148
+ },
149
+ {
150
+ "capability": "ntp_ios",
151
+ "scenario_family": "ipv4_routing_management",
152
+ "current_status": "edit_proven",
153
+ "local_sample_count": 9,
154
+ "proof_doc": "docs/ipv4-routing-management-proof.md",
155
+ "next_safe_action": "Promote explicit NTP server edits after selected-donor proof confirms config persistence.",
156
+ "promotion_blocker": "blocked_by_no_deterministic_target",
157
+ "explicit_command": "set R1 ntp server 192.168.1.20",
158
+ "required_evidence": [
159
+ "explicit_command_shape",
160
+ "parser_family_regression",
161
+ "decode_backed_sample_evidence",
162
+ "editor_roundtrip_test",
163
+ "deterministic_target_resolution",
164
+ "clean_ambiguity_refusal"
165
+ ],
166
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
167
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
168
+ },
169
+ {
170
+ "capability": "syslog_ios",
171
+ "scenario_family": "ipv4_routing_management",
172
+ "current_status": "edit_proven",
173
+ "local_sample_count": 0,
174
+ "proof_doc": "docs/ipv4-routing-management-proof.md",
175
+ "next_safe_action": "Keep edit-proven until local decode-backed sample evidence exists for logging host lines.",
176
+ "promotion_blocker": "blocked_by_missing_decode_evidence",
177
+ "explicit_command": "set R1 syslog server 192.168.1.30",
178
+ "required_evidence": [
179
+ "explicit_command_shape",
180
+ "parser_family_regression",
181
+ "decode_backed_sample_evidence",
182
+ "editor_roundtrip_test",
183
+ "deterministic_target_resolution",
184
+ "clean_ambiguity_refusal"
185
+ ],
186
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
187
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
188
+ }
189
+ ],
190
+ "secondary_candidates": [
191
+ {
192
+ "capability": "stp",
193
+ "scenario_family": "l2_resiliency_routing",
194
+ "current_status": "edit_proven",
195
+ "local_sample_count": 348,
196
+ "proof_doc": "docs/l2-resiliency-bgp-proof.md",
197
+ "next_safe_action": "Promote explicit STP mode/root commands after switch target and VLAN scope are deterministic.",
198
+ "promotion_blocker": "blocked_by_no_deterministic_target",
199
+ "explicit_command": "set SW1 stp mode rapid-pvst vlan 10 root primary",
200
+ "required_evidence": [
201
+ "explicit_command_shape",
202
+ "parser_family_regression",
203
+ "decode_backed_sample_evidence",
204
+ "editor_roundtrip_test",
205
+ "deterministic_target_resolution",
206
+ "clean_ambiguity_refusal"
207
+ ],
208
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
209
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
210
+ },
211
+ {
212
+ "capability": "rstp",
213
+ "scenario_family": "l2_resiliency_routing",
214
+ "current_status": "edit_proven",
215
+ "local_sample_count": 348,
216
+ "proof_doc": "docs/l2-resiliency-bgp-proof.md",
217
+ "next_safe_action": "Use STP selected-donor proof path for rapid-pvst command shape.",
218
+ "promotion_blocker": "blocked_by_no_deterministic_target",
219
+ "explicit_command": "set SW1 stp mode rapid-pvst vlan 10 root primary",
220
+ "required_evidence": [
221
+ "explicit_command_shape",
222
+ "parser_family_regression",
223
+ "decode_backed_sample_evidence",
224
+ "editor_roundtrip_test",
225
+ "deterministic_target_resolution",
226
+ "clean_ambiguity_refusal"
227
+ ],
228
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
229
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
230
+ },
231
+ {
232
+ "capability": "etherchannel",
233
+ "scenario_family": "l2_resiliency_routing",
234
+ "current_status": "edit_proven",
235
+ "local_sample_count": 7,
236
+ "proof_doc": "docs/l2-resiliency-bgp-proof.md",
237
+ "next_safe_action": "Promote explicit channel-group edits only when every interface target is named and unique.",
238
+ "promotion_blocker": "blocked_by_no_deterministic_target",
239
+ "explicit_command": "set SW1 etherchannel 1 mode active interfaces FastEthernet0/1 FastEthernet0/2",
240
+ "required_evidence": [
241
+ "explicit_command_shape",
242
+ "parser_family_regression",
243
+ "decode_backed_sample_evidence",
244
+ "editor_roundtrip_test",
245
+ "deterministic_target_resolution",
246
+ "clean_ambiguity_refusal"
247
+ ],
248
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
249
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
250
+ },
251
+ {
252
+ "capability": "lacp",
253
+ "scenario_family": "l2_resiliency_routing",
254
+ "current_status": "edit_proven",
255
+ "local_sample_count": 7,
256
+ "proof_doc": "docs/l2-resiliency-bgp-proof.md",
257
+ "next_safe_action": "Promote active/passive LACP modes through the EtherChannel proof gate.",
258
+ "promotion_blocker": "blocked_by_no_deterministic_target",
259
+ "explicit_command": "set SW1 etherchannel 1 mode active interfaces FastEthernet0/1 FastEthernet0/2",
260
+ "required_evidence": [
261
+ "explicit_command_shape",
262
+ "parser_family_regression",
263
+ "decode_backed_sample_evidence",
264
+ "editor_roundtrip_test",
265
+ "deterministic_target_resolution",
266
+ "clean_ambiguity_refusal"
267
+ ],
268
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
269
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
270
+ },
271
+ {
272
+ "capability": "pagp",
273
+ "scenario_family": "l2_resiliency_routing",
274
+ "current_status": "edit_proven",
275
+ "local_sample_count": 7,
276
+ "proof_doc": "docs/l2-resiliency-bgp-proof.md",
277
+ "next_safe_action": "Promote desirable/auto PAgP modes only after selected-donor interface validation.",
278
+ "promotion_blocker": "blocked_by_no_deterministic_target",
279
+ "explicit_command": "set SW1 etherchannel 1 mode desirable interfaces FastEthernet0/1 FastEthernet0/2",
280
+ "required_evidence": [
281
+ "explicit_command_shape",
282
+ "parser_family_regression",
283
+ "decode_backed_sample_evidence",
284
+ "editor_roundtrip_test",
285
+ "deterministic_target_resolution",
286
+ "clean_ambiguity_refusal"
287
+ ],
288
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
289
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
290
+ },
291
+ {
292
+ "capability": "vtp",
293
+ "scenario_family": "l2_resiliency_routing",
294
+ "current_status": "edit_proven",
295
+ "local_sample_count": 5,
296
+ "proof_doc": "docs/l2-resiliency-bgp-proof.md",
297
+ "next_safe_action": "Promote explicit VTP domain/mode/version edits when switch target is deterministic.",
298
+ "promotion_blocker": "blocked_by_no_deterministic_target",
299
+ "explicit_command": "set SW1 vtp domain CAMPUS mode server version 2",
300
+ "required_evidence": [
301
+ "explicit_command_shape",
302
+ "parser_family_regression",
303
+ "decode_backed_sample_evidence",
304
+ "editor_roundtrip_test",
305
+ "deterministic_target_resolution",
306
+ "clean_ambiguity_refusal"
307
+ ],
308
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
309
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
310
+ },
311
+ {
312
+ "capability": "dtp",
313
+ "scenario_family": "l2_resiliency_routing",
314
+ "current_status": "edit_proven",
315
+ "local_sample_count": 0,
316
+ "proof_doc": "docs/l2-resiliency-bgp-proof.md",
317
+ "next_safe_action": "Keep edit-proven until local decode-backed DTP sample evidence is found.",
318
+ "promotion_blocker": "blocked_by_missing_decode_evidence",
319
+ "explicit_command": "set SW1 dtp interface FastEthernet0/1 mode dynamic desirable",
320
+ "required_evidence": [
321
+ "explicit_command_shape",
322
+ "parser_family_regression",
323
+ "decode_backed_sample_evidence",
324
+ "editor_roundtrip_test",
325
+ "deterministic_target_resolution",
326
+ "clean_ambiguity_refusal"
327
+ ],
328
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
329
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
330
+ },
331
+ {
332
+ "capability": "bgp",
333
+ "scenario_family": "l2_resiliency_routing",
334
+ "current_status": "edit_proven",
335
+ "local_sample_count": 2,
336
+ "proof_doc": "docs/l2-resiliency-bgp-proof.md",
337
+ "next_safe_action": "Promote explicit BGP neighbor/network edits only after ASN, neighbor, and network target validation are proof-linked.",
338
+ "promotion_blocker": "blocked_by_no_deterministic_target",
339
+ "explicit_command": "set R1 bgp 65001 neighbor 10.0.0.2 remote-as 65002 network 192.168.1.0 mask 255.255.255.0",
340
+ "required_evidence": [
341
+ "explicit_command_shape",
342
+ "parser_family_regression",
343
+ "decode_backed_sample_evidence",
344
+ "editor_roundtrip_test",
345
+ "deterministic_target_resolution",
346
+ "clean_ambiguity_refusal"
347
+ ],
348
+ "test_target": "tests/test_pkt_editor.py::requires_twofish explicit IOS roundtrip path",
349
+ "strict_gate": "PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q"
350
+ }
351
+ ]
352
+ }