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.
- package/CHANGELOG.md +424 -73
- package/README.md +557 -442
- package/SKILL.md +337 -262
- package/bin/packet-tracer-skill.js +29 -2
- package/docs/github-launch-ops-0.2.3.md +37 -0
- package/docs/github-metadata.md +6 -4
- package/docs/hero-demo-plan.md +1 -1
- package/docs/home-iot-donor-proof.md +4 -4
- package/docs/l2-security-qos-proof.md +1 -1
- package/docs/packet-tracer-feature-gap-atlas.md +4 -4
- package/docs/post-launch-follow-up.md +9 -5
- package/docs/proof-readiness-dashboard.md +69 -0
- package/docs/publish-preview-roadmap.md +6 -5
- package/docs/release-checklist.md +17 -8
- package/docs/release-notes-0.2.4.md +20 -0
- package/docs/runtime-truth.md +33 -8
- package/docs/security-edge-deepening-proof.md +1 -1
- package/examples/README.md +98 -69
- package/examples/complex_campus_master_edit_v4.inventory.json +12 -2
- package/examples/gallery.md +94 -6
- package/examples/home_iot_cli_edit_v1.inventory.json +11 -2
- package/examples/index.json +932 -4
- package/examples/local-sample-evidence.json +24 -0
- package/examples/proof-cards.json +117 -0
- package/examples/service_heavy_cli_edit_v1.inventory.json +11 -2
- package/package.json +60 -53
- package/pytest.ini +9 -0
- package/references/packettracer-sample-catalog.json +45287 -4525
- package/references/packettracer-sample-catalog.md +599 -259
- package/references/proof-readiness-candidates.json +352 -0
- package/scripts/build_examples_index.py +228 -35
- package/scripts/build_sample_catalog.py +24 -44
- package/scripts/corpus_runner.py +430 -0
- package/scripts/coverage_matrix.py +1842 -1812
- package/scripts/donor_cache.py +354 -0
- package/scripts/donor_diagnostics.py +3 -1
- package/scripts/generate_pkt.py +8762 -4228
- package/scripts/intent_parser.py +2242 -1657
- package/scripts/local_donors.py +340 -0
- package/scripts/packet_tracer_env.py +846 -391
- package/scripts/pkt_annotate.py +218 -0
- package/scripts/pkt_codec.py +420 -181
- package/scripts/pkt_editor.py +2405 -1703
- package/scripts/pkt_transformer.py +1072 -727
- package/scripts/pkt_verify.py +461 -0
- package/scripts/runtime_doctor.py +80 -29
- package/scripts/sample_catalog.py +1372 -1250
- package/scripts/twofish_diagnostics.py +48 -31
- package/scripts/usage_ledger.py +218 -0
- package/scripts/vendor/README.md +44 -37
- package/scripts/vendor/twofish_pure.py +321 -0
- package/scripts/workspace_repair.py +548 -508
- package/templates/pt900/donors/README.md +15 -0
package/examples/gallery.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Showcase Examples
|
|
2
2
|
|
|
3
3
|
These examples are public, text-first proof artifacts derived from donor-backed workflows and aligned with the scenario fixture corpus.
|
|
4
4
|
|
|
5
|
-
`0.2.
|
|
5
|
+
`0.2.4` candidate examples surface, built on the published `0.2.3` capability release:
|
|
6
6
|
|
|
7
7
|
- `campus`
|
|
8
8
|
- `home_iot`
|
|
@@ -18,28 +18,116 @@ Canonical donor proof:
|
|
|
18
18
|
- [home IoT donor proof](../docs/home-iot-donor-proof.md)
|
|
19
19
|
- [WAN/security donor proof](../docs/wan-security-donor-proof.md)
|
|
20
20
|
|
|
21
|
+
Support truth:
|
|
22
|
+
|
|
23
|
+
- showcase examples are screenshot + inventory artifacts for known working donor-backed workflows
|
|
24
|
+
- proof cards are text-only evidence for explicit edit paths and donor-backed readiness
|
|
25
|
+
- atlas `generate_ready=0` remains intentional; these examples do not claim broad generation support
|
|
26
|
+
|
|
21
27
|
| Title | Family | Capabilities | Image | Inventory |
|
|
22
28
|
| --- | --- | --- | --- | --- |
|
|
23
29
|
| Complex Campus | `campus` | management_vlan, telnet, acl, server_dns, server_email, server_aaa, wireless_mutation | [screenshot](screenshots/complex_campus_master_edit_v4.png) | [manifest](complex_campus_master_edit_v4.inventory.json) |
|
|
24
30
|
| | | Management VLAN, Telnet, ACL, DNS, email, AAA, and multi-SSID wireless campus edit. | | |
|
|
25
31
|
| | | `known_working_example | donor=donor-backed | capabilities=management_vlan, telnet, acl` | | |
|
|
26
32
|
| | | `campus_core_complex | known_working_example | family=campus` | | |
|
|
27
|
-
| | | `management_vlan=
|
|
33
|
+
| | | `management_vlan=known_working_example, telnet=known_working_example, acl=known_working_example` | | |
|
|
28
34
|
| | | `decision=known_working_example | donor_origin=donor-backed` | | |
|
|
29
35
|
| | | `runtime=donor-backed example artifact` | | |
|
|
30
36
|
| Home IoT | `home_iot` | iot, iot_registration, wireless_ap | [screenshot](screenshots/home_iot_cli_edit_v1.png) | [manifest](home_iot_cli_edit_v1.inventory.json) |
|
|
31
37
|
| | | Home gateway and IoT device onboarding with donor-backed registration state and constrained wireless readiness. | | |
|
|
32
|
-
| | | `known_working_example | donor=donor-backed | capabilities=iot, iot_registration, wireless_ap | mode=donor-backed constrained
|
|
38
|
+
| | | `known_working_example | donor=donor-backed | capabilities=iot, iot_registration, wireless_ap | mode=donor-backed constrained edit` | | |
|
|
33
39
|
| | | `home_iot_complex | known_working_example | family=home_iot` | | |
|
|
34
|
-
| | | `iot=
|
|
40
|
+
| | | `iot=known_working_example, iot_registration=donor_backed_ready, wireless_ap=known_working_example` | | |
|
|
35
41
|
| | | `decision=known_working_example | donor_origin=donor-backed` | | |
|
|
36
42
|
| | | `runtime=donor-backed example artifact` | | |
|
|
37
43
|
| Service Heavy | `service_heavy` | server_dns, server_dhcp, server_ftp, server_email, server_syslog, server_aaa | [screenshot](screenshots/service_heavy_cli_edit_v1.png) | [manifest](service_heavy_cli_edit_v1.inventory.json) |
|
|
38
44
|
| | | Service-rich server lab with DNS, DHCP, FTP, email, syslog, AAA, and detailed service metadata. | | |
|
|
39
45
|
| | | `known_working_example | donor=donor-backed | capabilities=server_dns, server_dhcp, server_ftp` | | |
|
|
40
46
|
| | | `service_heavy_complex | known_working_example | family=service_heavy` | | |
|
|
41
|
-
| | | `server_dns=
|
|
47
|
+
| | | `server_dns=known_working_example, server_dhcp=known_working_example, server_ftp=known_working_example` | | |
|
|
42
48
|
| | | `decision=known_working_example | donor_origin=donor-backed` | | |
|
|
43
49
|
| | | `runtime=donor-backed example artifact` | | |
|
|
44
50
|
| | | extra visuals: [detail 1](screenshots/service_heavy_cli_edit_v1_dhcp.png); [detail 2](screenshots/service_heavy_cli_edit_v1_dns.png); [detail 3](screenshots/service_heavy_cli_edit_v1_ftp.png) | | |
|
|
45
51
|
|
|
52
|
+
## 0.2.4 Candidate Proof Cards
|
|
53
|
+
|
|
54
|
+
| Title | Family | Support | Proof | Boundary |
|
|
55
|
+
| --- | --- | --- | --- | --- |
|
|
56
|
+
| IPv4 Routing / NAT / IOS Management | `ipv4_routing_management` | `edit_proven` | [proof](../docs/ipv4-routing-management-proof.md) | No topology synthesis, route convergence proof, ACL object inference, or broad NAT design generation. |
|
|
57
|
+
| | | `explicit IPv4 routing/NAT/IOS-management commands are edit_proven; generate_ready=false` | | |
|
|
58
|
+
| | | try this command: `set R1 ospfv2 1 network 10.0.0.0 wildcard 0.0.0.255 area 0` | | |
|
|
59
|
+
| | | does not claim: No topology synthesis, route convergence proof, ACL object inference, or broad NAT design generation. | | |
|
|
60
|
+
| L2 Resiliency + BGP | `l2_resiliency_routing` | `edit_proven` | [proof](../docs/l2-resiliency-bgp-proof.md) | No redundant link creation, STP state validation, BGP convergence proof, or topology generation. |
|
|
61
|
+
| | | `explicit BGP/STP/EtherChannel/VTP/DTP IOS commands are edit_proven; generate_ready=false` | | |
|
|
62
|
+
| | | try this command: `set SW1 etherchannel 1 mode active interfaces FastEthernet0/1 FastEthernet0/2` | | |
|
|
63
|
+
| | | does not claim: No redundant link creation, STP state validation, BGP convergence proof, or topology generation. | | |
|
|
64
|
+
| L2 Security + QoS | `l2_security_monitoring` | `donor_backed_ready` | [proof](../docs/l2-security-qos-proof.md) | No broad NAC design, RADIUS user synthesis, certificate workflow, or end-to-end QoS policy inference. |
|
|
65
|
+
| | | `dot1x is donor_backed_ready; QoS remains edit_proven; generate_ready=false` | | |
|
|
66
|
+
| | | try this command: `set SW1 dot1x interface FastEthernet0/1 mode auto radius 192.168.1.10 key radius123` | | |
|
|
67
|
+
| | | does not claim: No broad NAC design, RADIUS user synthesis, certificate workflow, or end-to-end QoS policy inference. | | |
|
|
68
|
+
| Security Edge CBAC/ZFW | `wan_security_edge` | `donor_backed_ready` | [proof](../docs/security-edge-deepening-proof.md) | No ASA GUI/internal mutation, clientless VPN, service-policy synthesis, or broad security topology generation. |
|
|
69
|
+
| | | `ZFW is donor_backed_ready; CBAC remains edit_proven; generate_ready=false` | | |
|
|
70
|
+
| | | try this command: `set R1 zfw zone-pair INSIDE_OUT source inside destination outside policy POLICY1` | | |
|
|
71
|
+
| | | does not claim: No ASA GUI/internal mutation, clientless VPN, service-policy synthesis, or broad security topology generation. | | |
|
|
72
|
+
| Voice / Collaboration | `voice_collaboration` | `donor_backed_ready` | [proof](../docs/voice-collaboration-proof.md) | No Call Manager GUI synthesis, Linksys voice mutation, phone GUI internals, or broad VoIP topology generation. |
|
|
73
|
+
| | | `IOS telephony-service, ephone, and dial-peer paths are donor_backed_ready; generate_ready=false` | | |
|
|
74
|
+
| | | try this command: `set "Router0" telephony service source-address 192.168.10.1 port 2000 max-ephones 4 max-dn 4` | | |
|
|
75
|
+
| | | does not claim: No Call Manager GUI synthesis, Linksys voice mutation, phone GUI internals, or broad VoIP topology generation. | | |
|
|
76
|
+
| Automation / Controller Scripts | `automation_controller` | `donor_backed_ready` | [proof](../docs/automation-controller-proof.md) | No Network Controller GUI synthesis, Blockly graph mutation, VM/IOx workflow generation, or new app/file creation. |
|
|
77
|
+
| | | `existing Python, JavaScript, and TCP/UDP script files are donor_backed_ready; generate_ready=false` | | |
|
|
78
|
+
| | | try this command: `set "Device" script app "App Name" file "main.py" content "print('hello')"` | | |
|
|
79
|
+
| | | does not claim: No Network Controller GUI synthesis, Blockly graph mutation, VM/IOx workflow generation, or new app/file creation. | | |
|
|
80
|
+
| Industrial Programming | `industrial_iot` | `donor_backed_ready` | [proof](../docs/industrial-programming-proof.md) | No MQTT broker generation, Profinet/PTP/L2NAT mutation, CyberObserver workflow, or industrial topology generation. |
|
|
81
|
+
| | | `Real HTTP and Real WebSocket script-file edits are donor_backed_ready; generate_ready=false` | | |
|
|
82
|
+
| | | try this command: `set "Py: real http server 2" script app "Real HTTP Server" file "main.py" content "print('updated')"` | | |
|
|
83
|
+
| | | does not claim: No MQTT broker generation, Profinet/PTP/L2NAT mutation, CyberObserver workflow, or industrial topology generation. | | |
|
|
84
|
+
|
|
85
|
+
## Local Sample Evidence Board
|
|
86
|
+
|
|
87
|
+
Local audit source: `examples/local-sample-evidence.json`.
|
|
88
|
+
|
|
89
|
+
Audit summary: `367` files, `366` decode successes, `1` decode failures.
|
|
90
|
+
|
|
91
|
+
This is local evidence only. It does not make user-supplied `.pkt/.pka` files public curated donors, and it does not enter the npm package.
|
|
92
|
+
|
|
93
|
+
| Capability | Sample Count | Example Paths |
|
|
94
|
+
| --- | --- | --- |
|
|
95
|
+
| `stp` | 348 | 09. 2Switches_3Routers_Rime_New.pkt; 1-Securing Network Devices and Establish a SSH Session.pkt; 10-IPv4 Static and Default Routes.pkt |
|
|
96
|
+
| `static_route` | 87 | 09. 2Switches_3Routers_Rime_New.pkt; 10-IPv4 Static and Default Routes.pkt; 13.3.2 lab.pkt |
|
|
97
|
+
| `ripv2` | 61 | 10routerEGIRP.pkt; 10RouterRIP.pkt; 13.3.2 lab.pkt |
|
|
98
|
+
| `default_route` | 56 | 10-IPv4 Static and Default Routes.pkt; 13.3.2 lab.pkt; 23i2110.pkt |
|
|
99
|
+
| `ospfv2` | 50 | 11-Single-Area OSPFv2.pkt; 13routerOSPF.pkt; 2020-06-18 OSPF.pkt |
|
|
100
|
+
| `dhcp_pool` | 48 | 10PORTDHCP.pkt; 20211220 VoIP, PortSec, DHCP - finished.pkt; 6-DHCPv4.pkt |
|
|
101
|
+
| `acl` | 40 | 13.3.2 lab.pkt; 2020-06-18 OSPF.pkt; 23i2110.pkt |
|
|
102
|
+
| `ssh_ios` | 27 | 1-Securing Network Devices and Establish a SSH Session.pkt; 16.4.7 lab.pkt; 2020-05-16 AAA NTP For Learnersv3.pkt |
|
|
103
|
+
| `dhcp_relay` | 24 | 2020-04-19 HSRP OGIT PT Lab.pkt; 2020-05-16 AAA NTP For Learnersv3.pkt; 2020-05-20 Routing NTP and more WTW.pkt |
|
|
104
|
+
| `eigrp_ipv4` | 22 | 10routerEGIRP.pkt; 13routerEigrp.pkt; 13routerEigrpFINALIZED.pkt |
|
|
105
|
+
| `etherchannel` | 7 | 20211124 L2 EtherChannel, HSRP, OSPF - empty.pkt; 20211124 L2 EtherChannel, HSRP, OSPF - finished.pkt; 5-Implement Inter-VLAN Routing and Etherchannel.pkt |
|
|
106
|
+
| `bgp` | 2 | Cisco-networking-projects-main\BGP\BGP_3_Router\BGP_3_ROUTERS.pkt; Cisco-networking-projects-main\BGP\BGP_Class_C\BGP_Class_C.pkt |
|
|
107
|
+
|
|
108
|
+
## Proof-Readiness Promotion Queue
|
|
109
|
+
|
|
110
|
+
This queue connects proof cards, feature atlas status, and local sample evidence. It is a planning artifact, not a `generate_ready` claim.
|
|
111
|
+
|
|
112
|
+
Dashboard: [proof-readiness dashboard](../docs/proof-readiness-dashboard.md)
|
|
113
|
+
|
|
114
|
+
| Priority | Capability | Family | Current Status | Explicit Command | Next Safe Action | Blocker |
|
|
115
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
116
|
+
| `primary` | `ospfv2` | `ipv4_routing_management` | `edit_proven` | `set R1 ospfv2 1 network 10.0.0.0 wildcard 0.0.0.255 area 0` | Add proof-linked selected-donor readiness for explicit OSPFv2 IOS network commands. | `blocked_by_no_deterministic_target` |
|
|
117
|
+
| `primary` | `eigrp_ipv4` | `ipv4_routing_management` | `edit_proven` | `set R1 eigrp ipv4 100 network 10.0.0.0 wildcard 0.0.0.255 no-auto-summary` | Add proof-linked readiness for explicit EIGRP IPv4 network commands with router target validation. | `blocked_by_no_deterministic_target` |
|
|
118
|
+
| `primary` | `ripv2` | `ipv4_routing_management` | `edit_proven` | `set R1 rip version 2 network 10.0.0.0 no-auto-summary` | Promote explicit RIPv2 IOS commands after selected donor and interface scope are locked. | `blocked_by_no_deterministic_target` |
|
|
119
|
+
| `primary` | `static_route` | `ipv4_routing_management` | `edit_proven` | `set R1 static-route 192.168.10.0/24 via 10.0.0.1` | Promote explicit static/default route commands where gateway and router target are deterministic. | `blocked_by_no_deterministic_target` |
|
|
120
|
+
| `primary` | `default_route` | `ipv4_routing_management` | `edit_proven` | `set R1 static-route 0.0.0.0/0 via 10.0.0.1` | Use the same selected-donor proof path as static_route, but keep broad routing design blocked. | `blocked_by_no_deterministic_target` |
|
|
121
|
+
| `primary` | `dhcp_relay` | `ipv4_routing_management` | `edit_proven` | `set R1 dhcp-relay interface GigabitEthernet0/0 helper 192.168.1.10` | Promote explicit helper-address edits only when interface and relay server are named or uniquely resolved. | `blocked_by_no_deterministic_target` |
|
|
122
|
+
| `primary` | `ssh_ios` | `ipv4_routing_management` | `edit_proven` | `set R1 ssh domain lab.local username admin password cisco123 modulus 1024` | Promote explicit IOS SSH setup when router target, domain, username, and modulus are deterministic. | `blocked_by_no_deterministic_target` |
|
|
123
|
+
| `primary` | `ntp_ios` | `ipv4_routing_management` | `edit_proven` | `set R1 ntp server 192.168.1.20` | Promote explicit NTP server edits after selected-donor proof confirms config persistence. | `blocked_by_no_deterministic_target` |
|
|
124
|
+
| `primary` | `syslog_ios` | `ipv4_routing_management` | `edit_proven` | `set R1 syslog server 192.168.1.30` | Keep edit-proven until local decode-backed sample evidence exists for logging host lines. | `blocked_by_missing_decode_evidence` |
|
|
125
|
+
| `secondary` | `stp` | `l2_resiliency_routing` | `edit_proven` | `set SW1 stp mode rapid-pvst vlan 10 root primary` | Promote explicit STP mode/root commands after switch target and VLAN scope are deterministic. | `blocked_by_no_deterministic_target` |
|
|
126
|
+
| `secondary` | `rstp` | `l2_resiliency_routing` | `edit_proven` | `set SW1 stp mode rapid-pvst vlan 10 root primary` | Use STP selected-donor proof path for rapid-pvst command shape. | `blocked_by_no_deterministic_target` |
|
|
127
|
+
| `secondary` | `etherchannel` | `l2_resiliency_routing` | `edit_proven` | `set SW1 etherchannel 1 mode active interfaces FastEthernet0/1 FastEthernet0/2` | Promote explicit channel-group edits only when every interface target is named and unique. | `blocked_by_no_deterministic_target` |
|
|
128
|
+
| `secondary` | `lacp` | `l2_resiliency_routing` | `edit_proven` | `set SW1 etherchannel 1 mode active interfaces FastEthernet0/1 FastEthernet0/2` | Promote active/passive LACP modes through the EtherChannel proof gate. | `blocked_by_no_deterministic_target` |
|
|
129
|
+
| `secondary` | `pagp` | `l2_resiliency_routing` | `edit_proven` | `set SW1 etherchannel 1 mode desirable interfaces FastEthernet0/1 FastEthernet0/2` | Promote desirable/auto PAgP modes only after selected-donor interface validation. | `blocked_by_no_deterministic_target` |
|
|
130
|
+
| `secondary` | `vtp` | `l2_resiliency_routing` | `edit_proven` | `set SW1 vtp domain CAMPUS mode server version 2` | Promote explicit VTP domain/mode/version edits when switch target is deterministic. | `blocked_by_no_deterministic_target` |
|
|
131
|
+
| `secondary` | `dtp` | `l2_resiliency_routing` | `edit_proven` | `set SW1 dtp interface FastEthernet0/1 mode dynamic desirable` | Keep edit-proven until local decode-backed DTP sample evidence is found. | `blocked_by_missing_decode_evidence` |
|
|
132
|
+
| `secondary` | `bgp` | `l2_resiliency_routing` | `edit_proven` | `set R1 bgp 65001 neighbor 10.0.0.2 remote-as 65002 network 192.168.1.0 mask 255.255.255.0` | Promote explicit BGP neighbor/network edits only after ASN, neighbor, and network target validation are proof-linked. | `blocked_by_no_deterministic_target` |
|
|
133
|
+
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
+
"schema_version": "examples.truth.v2",
|
|
2
3
|
"example_name": "home_iot_cli_edit_v1",
|
|
4
|
+
"artifact_type": "showcase_example",
|
|
3
5
|
"source_mode": "donor-backed edit",
|
|
4
6
|
"scenario_family": "home_iot",
|
|
5
|
-
"
|
|
7
|
+
"artifact_policy": {
|
|
6
8
|
"commit_pkt_binary": false,
|
|
7
9
|
"commit_inventory_json": true,
|
|
8
|
-
"
|
|
10
|
+
"commit_screenshots": true,
|
|
11
|
+
"raw_source_public": false
|
|
12
|
+
},
|
|
13
|
+
"maturity_summary": {
|
|
14
|
+
"atlas_status": "donor_backed_ready",
|
|
15
|
+
"example_status": "known_working_example",
|
|
16
|
+
"donor_backed_ready": true,
|
|
17
|
+
"generate_ready": false
|
|
9
18
|
},
|
|
10
19
|
"artifact_paths": {
|
|
11
20
|
"inventory_json": "examples/home_iot_cli_edit_v1.inventory.json",
|