packet-tracer-skill 0.2.2 → 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 -42
- package/README.md +535 -250
- package/SKILL.md +337 -262
- package/bin/packet-tracer-skill.js +29 -2
- package/docs/automation-controller-proof.md +35 -0
- package/docs/curated-donor-registry.md +11 -0
- package/docs/generate-ready-pilot-design.md +30 -0
- 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/industrial-programming-proof.md +48 -0
- package/docs/ipv4-routing-management-proof.md +37 -0
- package/docs/l2-resiliency-bgp-proof.md +60 -0
- package/docs/l2-security-qos-proof.md +59 -0
- package/docs/packet-tracer-feature-gap-atlas.md +174 -17
- 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 +27 -13
- package/docs/release-notes-0.2.2.md +1 -1
- package/docs/release-notes-0.2.3.md +59 -0
- package/docs/release-notes-0.2.4.md +20 -0
- package/docs/runtime-truth.md +33 -8
- package/docs/security-edge-deepening-proof.md +65 -0
- package/docs/voice-collaboration-proof.md +38 -0
- package/docs/wan-security-donor-proof.md +20 -3
- 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 -44
- package/pytest.ini +9 -0
- package/references/packettracer-feature-atlas.json +67 -17
- 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 -1319
- package/scripts/donor_cache.py +354 -0
- package/scripts/donor_diagnostics.py +3 -1
- package/scripts/feature_atlas.py +65 -1
- package/scripts/generate_pkt.py +8762 -4070
- package/scripts/intent_parser.py +2242 -1138
- 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 -1226
- package/scripts/pkt_transformer.py +1072 -727
- package/scripts/pkt_verify.py +461 -0
- package/scripts/remote_search.py +197 -21
- package/scripts/runtime_doctor.py +80 -29
- package/scripts/sample_catalog.py +1372 -1195
- 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
|
@@ -7,27 +7,39 @@ It is intentionally conservative:
|
|
|
7
7
|
- `inventory_known` means a Packet Tracer sample or path proves the feature exists.
|
|
8
8
|
- `report_supported` means the skill can recognize and report the feature without claiming mutation support.
|
|
9
9
|
- `edit_proven` requires a roundtrip editor test.
|
|
10
|
-
- `donor_backed_ready` requires selected-donor evidence.
|
|
10
|
+
- `donor_backed_ready` requires selected-donor evidence or a validated proof-linked explicit edit gate with sample, decode, and roundtrip evidence.
|
|
11
11
|
- `generate_ready` requires acceptance-backed generate behavior.
|
|
12
12
|
|
|
13
|
-
The atlas does not claim that every Packet Tracer feature is
|
|
13
|
+
The atlas does not claim that every Packet Tracer feature is `generate_ready`. It turns missing or under-modelled Packet Tracer features into an auditable backlog before any broad config mutation is opened.
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Remote Sample Evidence
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
GitHub `.pkt` repositories can add discovery evidence, but they do not automatically change feature maturity.
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
|
|
19
|
+
Remote sample evidence is treated in three layers:
|
|
20
|
+
|
|
21
|
+
- sample-path evidence: a public repo path suggests a Packet Tracer feature exists, but the file may still fail decode or validation
|
|
22
|
+
- decode/inventory evidence: a locally cached sample opens through the decoder and produces feature tags
|
|
23
|
+
- proof evidence: an explicit editor roundtrip or acceptance fixture proves a safe operation shape
|
|
24
|
+
|
|
25
|
+
`output/remote-import-cache/remote-sample-audit.json` records repo URL, license metadata, imported file counts, decode success/failure counts, detected feature tags, license-based candidate promotion status, and decode-gated validation status. Unknown-license repositories remain `reference_only`. Permissive-license repositories only become curated candidates after local decode and inventory validation. Raw remote `.pkt` files are never a checked-in truth source.
|
|
26
|
+
|
|
27
|
+
## First Donor-Backed Edit Readiness Wave
|
|
28
|
+
|
|
29
|
+
The first promotion wave is `ipv6_routing`. The following subset can move beyond report-only when explicit router/interface targets or proof-linked IPv6/routing edit evidence exists:
|
|
30
|
+
|
|
31
|
+
- IPv6 interface/SLAAC config remains edit-proven.
|
|
32
|
+
- DHCPv6 stateful pool binding remains edit-proven until decode-verified sample evidence is available.
|
|
33
|
+
- OSPFv3 interface routing is donor-backed ready for explicit edit paths.
|
|
34
|
+
- EIGRP IPv6 interface routing is donor-backed ready for explicit edit paths.
|
|
35
|
+
- RIPng interface routing is donor-backed ready for explicit edit paths.
|
|
36
|
+
- IPv6 HSRP virtual address is donor-backed ready for explicit edit paths.
|
|
25
37
|
|
|
26
38
|
IPv6 tunneling, ISATAP, prefix delegation, and AAAA DNS remain report-first until separate donor-backed editor proof exists.
|
|
27
39
|
|
|
28
40
|
## Second Edit-Proven Wave
|
|
29
41
|
|
|
30
|
-
The second promotion wave is `l2_security_monitoring`. The following subset is edit-proven for explicit commands, but still not broad
|
|
42
|
+
The second promotion wave is `l2_security_monitoring`. The following subset is edit-proven for explicit commands, but still not broad `generate_ready`:
|
|
31
43
|
|
|
32
44
|
- DHCP snooping
|
|
33
45
|
- Dynamic ARP Inspection
|
|
@@ -56,23 +68,168 @@ SSID. They still report `generate_supported=false` and
|
|
|
56
68
|
WLC/controller workflows, Meraki, cellular/5G, Bluetooth, beamforming, and
|
|
57
69
|
guest Wi-Fi remain report-only until separate donor-backed editor proof exists.
|
|
58
70
|
|
|
71
|
+
## Fourth Edit-Proven Wave
|
|
72
|
+
|
|
73
|
+
The fourth promotion wave is `wan_security_edge`. This wave promotes only
|
|
74
|
+
explicit, deterministic router edit commands:
|
|
75
|
+
|
|
76
|
+
- GRE tunnel basics
|
|
77
|
+
- PPP serial encapsulation
|
|
78
|
+
- IPSec transform-set lines
|
|
79
|
+
- site-to-site VPN crypto-map skeleton binding
|
|
80
|
+
|
|
81
|
+
These capabilities can report `edit_supported=true` only when the prompt names
|
|
82
|
+
the router, interface or tunnel, peer/source/destination, and required crypto
|
|
83
|
+
objects. They still report `generate_supported=false` and
|
|
84
|
+
`generate_mismatch_reason=supported_in_edit_only`.
|
|
85
|
+
|
|
86
|
+
ASA ACL/NAT, service policies, clientless VPN, CBAC, ZFW, security-edge device
|
|
87
|
+
mutation, and multilayer switching remain report-only in this wave until separate
|
|
88
|
+
donor-backed editor proof exists.
|
|
89
|
+
|
|
90
|
+
## Fifth Donor-Backed Edit Readiness Wave
|
|
91
|
+
|
|
92
|
+
The fifth promotion wave is `industrial_iot` programming. This wave promotes
|
|
93
|
+
only existing script-file replacement for Real HTTP and Real WebSocket samples:
|
|
94
|
+
|
|
95
|
+
- Real HTTP Python script file replacement
|
|
96
|
+
- Real WebSocket Python/JavaScript script file replacement
|
|
97
|
+
- programming inventory with hashes and lengths instead of source dumps
|
|
98
|
+
|
|
99
|
+
These capabilities can report `edit_supported=true` and
|
|
100
|
+
`donor_backed_ready=true` only when the prompt quotes the device name, app name,
|
|
101
|
+
and existing file name. They still report `generate_supported=false` and
|
|
102
|
+
`generate_mismatch_reason=supported_in_edit_only`.
|
|
103
|
+
|
|
104
|
+
MQTT protocol mutation, visual scripting generation, PTP, Profinet, L2NAT,
|
|
105
|
+
CyberObserver, and industrial firewall workflows remain report-only until
|
|
106
|
+
separate donor-backed editor proof exists.
|
|
107
|
+
|
|
108
|
+
## Sixth Donor-Backed Edit Readiness Wave
|
|
109
|
+
|
|
110
|
+
The sixth promotion wave is `voice_collaboration`. This wave promotes only
|
|
111
|
+
explicit IOS voice configuration lines on an existing router config surface:
|
|
112
|
+
|
|
113
|
+
- `telephony-service` source address, SCCP port, max ephones, and max DNs
|
|
114
|
+
- `ephone-dn` extension number lines
|
|
115
|
+
- `ephone` MAC and button assignment lines
|
|
116
|
+
- `dial-peer voice` destination-pattern and session-target lines
|
|
117
|
+
|
|
118
|
+
These capabilities can report `edit_supported=true` and
|
|
119
|
+
`donor_backed_ready=true` only when the prompt names the router and the voice
|
|
120
|
+
object identifiers or values. They still report `generate_supported=false` and
|
|
121
|
+
`generate_mismatch_reason=supported_in_edit_only`.
|
|
122
|
+
|
|
123
|
+
IP phone GUI internals, Linksys voice GUI mutation, Call Manager synthesis, and
|
|
124
|
+
broad VoIP topology generation remain report-only until separate donor-backed
|
|
125
|
+
editor proof exists.
|
|
126
|
+
|
|
127
|
+
## Seventh Donor-Backed Edit Readiness Wave
|
|
128
|
+
|
|
129
|
+
The seventh promotion wave is `automation_controller`. This wave promotes only
|
|
130
|
+
existing script-file replacement on Packet Tracer programming samples:
|
|
131
|
+
|
|
132
|
+
- Python app file replacement
|
|
133
|
+
- JavaScript app file replacement
|
|
134
|
+
- TCP/UDP test app JavaScript file replacement
|
|
135
|
+
- programming inventory with hashes and lengths instead of source dumps
|
|
136
|
+
|
|
137
|
+
These capabilities can report `edit_supported=true` and
|
|
138
|
+
`donor_backed_ready=true` only when the prompt quotes the device name, app name,
|
|
139
|
+
and existing file name. They still report `generate_supported=false` and
|
|
140
|
+
`generate_mismatch_reason=supported_in_edit_only`.
|
|
141
|
+
|
|
142
|
+
Network Controller GUI workflows, Blockly visual graph mutation, VM/IOx runtime
|
|
143
|
+
creation, and broad controller/application generation remain report-only until
|
|
144
|
+
separate donor-backed editor proof exists.
|
|
145
|
+
|
|
146
|
+
## Eighth Donor-Backed Edit Readiness Wave
|
|
147
|
+
|
|
148
|
+
The eighth promotion wave is the `0.2.3` candidate L2/security proof hardening.
|
|
149
|
+
This wave promotes only deterministic IOS line edits:
|
|
150
|
+
|
|
151
|
+
- 802.1X/NAC switch config using `aaa new-model`, `dot1x system-auth-control`,
|
|
152
|
+
`authentication port-control`, and optional `radius-server host`
|
|
153
|
+
- QoS switch config using explicit `class-map`, `policy-map`, and
|
|
154
|
+
`service-policy input/output`
|
|
155
|
+
- router CBAC using `ip inspect name` plus interface-level `ip inspect`
|
|
156
|
+
- router ZFW using `zone security`, `zone-pair security`, and
|
|
157
|
+
`policy-map type inspect`
|
|
158
|
+
|
|
159
|
+
These capabilities can report `edit_supported=true` only for explicit commands
|
|
160
|
+
with deterministic device/interface/object names. Dot1x and ZFW can also report
|
|
161
|
+
`donor_backed_ready=true` because they have decode-verified sample evidence.
|
|
162
|
+
QoS and CBAC remain `edit_proven` until decode-verified sample evidence is added.
|
|
163
|
+
All four still report `generate_supported=false` and
|
|
164
|
+
`generate_mismatch_reason=supported_in_edit_only`.
|
|
165
|
+
|
|
166
|
+
ASA ACL/NAT, ASA service-policy, clientless VPN, sniffer workflows, broad NAC,
|
|
167
|
+
and broad QoS design remain report-only until separate donor-backed editor proof
|
|
168
|
+
exists.
|
|
169
|
+
|
|
170
|
+
## Ninth Edit-Proven Wave
|
|
171
|
+
|
|
172
|
+
The ninth promotion wave is `l2_resiliency_routing`. This wave uses the local
|
|
173
|
+
user-supplied `pkt_examples` corpus as evidence input and promotes only explicit
|
|
174
|
+
IOS line edits:
|
|
175
|
+
|
|
176
|
+
- BGP `router bgp`, `neighbor remote-as`, and optional `network mask` lines
|
|
177
|
+
- STP/RSTP `spanning-tree mode` and VLAN root lines
|
|
178
|
+
- EtherChannel `channel-group` and `Port-channel` lines
|
|
179
|
+
- LACP/PAgP mode derivation from explicit EtherChannel modes
|
|
180
|
+
- VTP domain/mode/version lines
|
|
181
|
+
- DTP dynamic switchport mode lines
|
|
182
|
+
|
|
183
|
+
These capabilities can report `edit_supported=true` only for explicit commands
|
|
184
|
+
with deterministic router/switch/interface names. They do not report
|
|
185
|
+
`donor_backed_ready=true` yet, because this wave does not add selected-donor
|
|
186
|
+
acceptance proof. They still report `generate_supported=false` and
|
|
187
|
+
`generate_mismatch_reason=supported_in_edit_only`.
|
|
188
|
+
|
|
189
|
+
`spanning-tree` evidence is intentionally separated from SPAN/RSPAN. STP/RSTP
|
|
190
|
+
must not create the `span` capability; SPAN remains tied to monitor-session style
|
|
191
|
+
config or explicit SPAN/RSPAN prompts.
|
|
192
|
+
|
|
193
|
+
## Tenth Edit-Proven Wave
|
|
194
|
+
|
|
195
|
+
The tenth promotion wave is `ipv4_routing_management`. This wave also uses the
|
|
196
|
+
local user-supplied `pkt_examples` corpus as evidence input and promotes only
|
|
197
|
+
explicit IOS line edits:
|
|
198
|
+
|
|
199
|
+
- OSPFv2, EIGRP IPv4, and RIPv2 router process/network lines
|
|
200
|
+
- static and default IPv4 routes
|
|
201
|
+
- DHCP relay `ip helper-address`
|
|
202
|
+
- NAT inside/outside markers, static NAT, and PAT overload skeletons
|
|
203
|
+
- IOS SSH, NTP client, and syslog client lines
|
|
204
|
+
|
|
205
|
+
These capabilities can report `edit_supported=true` only for explicit commands
|
|
206
|
+
with deterministic router and interface names. They remain
|
|
207
|
+
`donor_backed_ready=false` and `generate_supported=false`; the local sample corpus
|
|
208
|
+
is evidence input, not a public curated donor registry.
|
|
209
|
+
|
|
59
210
|
## Current Feature Families
|
|
60
211
|
|
|
61
|
-
- `ipv6_routing`: SLAAC, DHCPv6, prefix delegation, AAAA DNS, IPv6 tunneling, ISATAP, OSPFv3, EIGRP IPv6, RIPng, HSRP.
|
|
62
|
-
- `
|
|
63
|
-
- `
|
|
212
|
+
- `ipv6_routing`: SLAAC, DHCPv6, prefix delegation, AAAA DNS, IPv6 tunneling, ISATAP, OSPFv3, EIGRP IPv6, RIPng, HSRP; OSPFv3, EIGRP IPv6, RIPng, and HSRP are donor-backed ready for explicit edit paths.
|
|
213
|
+
- `ipv4_routing_management`: OSPFv2, EIGRP IPv4, RIPv2, static/default routes, DHCP relay, static/dynamic NAT, PAT, SSH, NTP, and syslog; explicit IOS text edits are edit-proven, but not donor-backed ready or `generate_ready`.
|
|
214
|
+
- `l2_resiliency_routing`: BGP, STP/RSTP, EtherChannel, LACP/PAgP, VTP, and DTP; explicit IOS text edits are edit-proven, but not donor-backed ready or `generate_ready`.
|
|
215
|
+
- `l2_security_monitoring`: DHCP snooping, DAI, 802.1X/NAC, LLDP, REP, SNMP, NetFlow, SPAN/RSPAN, QoS, port security; dot1x is donor-backed ready for explicit IOS line edits, while QoS is edit-proven.
|
|
216
|
+
- `wan_security_edge`: VPN crypto-map skeleton, IPSec transform-set, GRE tunnel basics, PPP serial encapsulation, CBAC/ZFW router IOS edits, security-edge evidence, multilayer evidence.
|
|
217
|
+
- `security_edge_deepening`: ASA ACL/NAT, ASA service policy, clientless VPN, CBAC, ZFW, sniffer, IPSec variants; router ZFW is donor-backed ready, while CBAC is edit-proven.
|
|
64
218
|
- `wireless_advanced`: WLC, WPA Enterprise/RADIUS, WEP/WPA modes, guest Wi-Fi, beamforming, Meraki, 5G/cellular, Bluetooth.
|
|
65
|
-
- `automation_controller`: Network Controller, Python, JavaScript, Blockly, TCP/UDP test apps, VM/IOx samples.
|
|
66
|
-
- `voice_collaboration`: VoIP, IP phones, Call Manager-style telephony, Linksys voice.
|
|
67
|
-
- `industrial_iot`: MQTT, Real HTTP, Real WebSocket, visual scripting, PTP, Profinet, L2NAT, CyberObserver, industrial firewall.
|
|
219
|
+
- `automation_controller`: Network Controller, Python, JavaScript, Blockly, TCP/UDP test apps, VM/IOx samples; existing Python, JavaScript, and TCP/UDP script-file edits are donor-backed ready.
|
|
220
|
+
- `voice_collaboration`: VoIP, IP phones, Call Manager-style IOS telephony, Linksys voice; explicit IOS voice edits are donor-backed ready.
|
|
221
|
+
- `industrial_iot`: MQTT, Real HTTP, Real WebSocket, visual scripting, PTP, Profinet, L2NAT, CyberObserver, industrial firewall; only Real HTTP/WebSocket existing script-file edits are donor-backed ready.
|
|
68
222
|
- `physical_media_device`: coaxial, cable/DSL, central office, cell tower, power distribution, hot-swappable modules, IOS/license workflows.
|
|
69
223
|
|
|
70
224
|
## CLI
|
|
71
225
|
|
|
72
226
|
```powershell
|
|
73
227
|
python .\scripts\generate_pkt.py --feature-gap-report
|
|
228
|
+
python .\scripts\generate_pkt.py --local-sample-audit-root "C:\path\to\pkt_examples"
|
|
74
229
|
```
|
|
75
230
|
|
|
231
|
+
The default local audit artifact is `output/local-sample-audit.json`. It is ignored by git and excluded from npm packaging. Local `pkt_examples` evidence does not promote a sample into curated public truth by itself.
|
|
232
|
+
|
|
76
233
|
The report includes:
|
|
77
234
|
|
|
78
235
|
- total Packet Tracer feature groups tracked
|
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
## Immediate Follow-Up Items
|
|
4
4
|
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
5
|
+
- keep the published `0.2.3` surface aligned across README, npm, changelog, release notes, proof docs, and examples
|
|
6
|
+
- freeze the `Examples Truth 2.0` proof-card/gallery surface as the first `0.2.4` candidate batch
|
|
7
|
+
- use `docs/proof-readiness-dashboard.md` and `references/proof-readiness-candidates.json` as the next engineering queue
|
|
8
|
+
- keep canonical proof artifacts discoverable from README and examples:
|
|
9
|
+
- `docs/campus-donor-proof.md`
|
|
10
|
+
- `docs/home-iot-donor-proof.md`
|
|
11
|
+
- `docs/wan-security-donor-proof.md`
|
|
9
12
|
- keep README, release notes, launch announcement, and GitHub metadata in sync
|
|
10
13
|
|
|
11
14
|
## Next Technical Proof Batch
|
|
@@ -24,13 +27,14 @@
|
|
|
24
27
|
- treat runtime clarity as a product surface, not a debug detail
|
|
25
28
|
- keep `what_currently_works`, `what_is_blocked`, and `best_next_fix` aligned with `doctor_summary`
|
|
26
29
|
|
|
27
|
-
## Trigger Conditions for `0.2.
|
|
30
|
+
## Trigger Conditions for `0.2.4`
|
|
28
31
|
|
|
29
32
|
- README / npm / GitHub wording drift
|
|
30
33
|
- donor proof uncovers a concrete selector mismatch worth productizing
|
|
31
34
|
- runtime doctor wording becomes ambiguous again
|
|
32
35
|
- examples and public proof artifacts stop matching current behavior
|
|
33
36
|
- selected donor refusal becomes too generic to explain the closest rejected donor class
|
|
37
|
+
- proof-readiness candidates gain enough selected-donor evidence to justify promotion
|
|
34
38
|
|
|
35
39
|
## Next Integration Wave
|
|
36
40
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Proof Readiness Dashboard
|
|
2
|
+
|
|
3
|
+
This dashboard is the `0.2.4` candidate planning surface for moving features from `edit_proven` toward `donor_backed_ready`.
|
|
4
|
+
|
|
5
|
+
It combines three sources:
|
|
6
|
+
|
|
7
|
+
- proof cards in `examples/proof-cards.json`
|
|
8
|
+
- feature support ceilings in `references/packettracer-feature-atlas.json`
|
|
9
|
+
- local sample evidence summarized in `examples/local-sample-evidence.json`
|
|
10
|
+
|
|
11
|
+
It does not enable broad generation. The current product truth remains `generate_ready=0`.
|
|
12
|
+
|
|
13
|
+
## Status Contract
|
|
14
|
+
|
|
15
|
+
- `report_supported`: the feature is recognized and can be reported, but no edit claim is made.
|
|
16
|
+
- `edit_proven`: explicit command or script-file roundtrip has evidence.
|
|
17
|
+
- `donor_backed_ready`: selected donor or proof-linked explicit edit path is safe for a narrow prompt-scoped workflow.
|
|
18
|
+
- `blocked_by_missing_decode_evidence`: sample-path evidence exists, but decode-backed evidence is not sufficient.
|
|
19
|
+
- `blocked_by_missing_roundtrip`: inventory or parser truth exists, but editor roundtrip proof is missing.
|
|
20
|
+
- `blocked_by_no_deterministic_target`: edit proof exists, but selected donor / device / interface / object resolution is not yet locked.
|
|
21
|
+
|
|
22
|
+
## Primary Queue
|
|
23
|
+
|
|
24
|
+
Primary candidates are the highest-value next promotion targets because local evidence is strong and the edit surface is IOS text only:
|
|
25
|
+
|
|
26
|
+
- `ospfv2`
|
|
27
|
+
- `eigrp_ipv4`
|
|
28
|
+
- `ripv2`
|
|
29
|
+
- `static_route`
|
|
30
|
+
- `default_route`
|
|
31
|
+
- `dhcp_relay`
|
|
32
|
+
- `ssh_ios`
|
|
33
|
+
- `ntp_ios`
|
|
34
|
+
- `syslog_ios`
|
|
35
|
+
|
|
36
|
+
These remain `edit_proven` until selected-donor evidence and deterministic target resolution are proof-linked. Broad routing, NAT, and management design generation stays blocked.
|
|
37
|
+
|
|
38
|
+
## Secondary Queue
|
|
39
|
+
|
|
40
|
+
Secondary candidates are L2 resiliency and BGP features with strong local sample evidence but more topology-sensitive safety requirements:
|
|
41
|
+
|
|
42
|
+
- `stp`
|
|
43
|
+
- `rstp`
|
|
44
|
+
- `etherchannel`
|
|
45
|
+
- `lacp`
|
|
46
|
+
- `pagp`
|
|
47
|
+
- `vtp`
|
|
48
|
+
- `dtp`
|
|
49
|
+
- `bgp`
|
|
50
|
+
|
|
51
|
+
These features should not inherit donor readiness from generic sample counts. Promotion requires explicit command shape, decode-backed sample evidence, editor roundtrip, deterministic target resolution, and clean refusal on ambiguous targets.
|
|
52
|
+
|
|
53
|
+
## Promotion Rule
|
|
54
|
+
|
|
55
|
+
A candidate can be promoted only when all of these are true:
|
|
56
|
+
|
|
57
|
+
- an explicit command shape exists
|
|
58
|
+
- parser and parity recognize the capability without family drift
|
|
59
|
+
- sample evidence exists
|
|
60
|
+
- decode evidence exists
|
|
61
|
+
- editor roundtrip test exists
|
|
62
|
+
- device/interface/object targets are deterministic
|
|
63
|
+
- ambiguity produces a clean refusal
|
|
64
|
+
|
|
65
|
+
If any item is missing, the feature stays `edit_proven` or `report_supported`.
|
|
66
|
+
|
|
67
|
+
## Next Safe Action
|
|
68
|
+
|
|
69
|
+
Use `references/proof-readiness-candidates.json` as the implementation queue. Do not add new random capability names until the primary queue either promotes or records a concrete blocker.
|
|
@@ -11,16 +11,17 @@
|
|
|
11
11
|
|
|
12
12
|
## Step B: Public `0.2.x` Publish-Preview
|
|
13
13
|
|
|
14
|
-
- `
|
|
15
|
-
-
|
|
16
|
-
-
|
|
14
|
+
- `packet-tracer-skill@0.2.3` is the current published capability release
|
|
15
|
+
- next candidate line is `0.2.4`, with notes drafted in `docs/release-notes-0.2.4.md`
|
|
16
|
+
- package version remains `0.2.3` until a `0.2.4` publish decision is made
|
|
17
17
|
- hero visual is locked to `examples/screenshots/complex_campus_master_edit_v4.png`
|
|
18
18
|
- hero demo execution plan is ready: `docs/hero-demo-plan.md`
|
|
19
19
|
- GitHub About/Topics text is finalized in `docs/github-metadata.md`
|
|
20
|
-
- launch ops
|
|
20
|
+
- active launch ops source is `docs/github-launch-ops-0.2.3.md`
|
|
21
|
+
- historical `0.2.1` and `0.2.2` launch ops runbooks remain archived
|
|
21
22
|
- npm publish checklist is complete and conservative runtime wording is preserved
|
|
22
23
|
- remaining public launch ops are:
|
|
23
|
-
- GitHub release
|
|
24
|
+
- GitHub release object verification for the current published tag
|
|
24
25
|
- About/Topics update in GitHub UI
|
|
25
26
|
- Discussions opening
|
|
26
27
|
- release announcement application
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Release Checklist
|
|
2
2
|
|
|
3
|
-
Target release surface: `0.2.
|
|
3
|
+
Target release surface: `0.2.4` candidate product-hardening patch on top of the published `0.2.3` capability release.
|
|
4
4
|
|
|
5
5
|
## Product Contract
|
|
6
6
|
|
|
@@ -17,25 +17,38 @@ python .\scripts\build_examples_index.py
|
|
|
17
17
|
python -m pytest tests -q
|
|
18
18
|
node --check .\bin\packet-tracer-skill.js
|
|
19
19
|
python .\scripts\generate_pkt.py --parity-report "campus with VLAN DHCP ACL"
|
|
20
|
-
python .\scripts\runtime_doctor.py
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
python .\scripts\runtime_doctor.py
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Runtime profile:
|
|
24
|
+
|
|
25
|
+
- default `python -m pytest tests -q` may skip `requires_twofish` tests when no local bridge is resolved
|
|
26
|
+
- strict release runtime gate must set `PKT_REQUIRE_TWOFISH_TESTS=1` and resolve `PKT_TWOFISH_LIBRARY` or `PKT_TWOFISH_SEARCH_ROOTS`
|
|
27
|
+
- `PKT_REQUIRE_TWOFISH_TESTS=1 python -m pytest tests -q` must pass before publishing any release that claims strict `.pkt` runtime proof
|
|
28
|
+
|
|
29
|
+
## Package Audit
|
|
24
30
|
|
|
25
31
|
- `package.json` description matches current product scope
|
|
26
32
|
- keyword clusters cover Packet Tracer, networking labs, AI/natural language, and host ecosystems
|
|
27
33
|
- `files` includes docs and runtime assets needed by consumers
|
|
28
34
|
- version bump matches semver intent
|
|
29
35
|
|
|
30
|
-
## Public Artifacts
|
|
31
|
-
|
|
32
|
-
- raw `.pkt` binaries are not committed
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
36
|
+
## Public Artifacts
|
|
37
|
+
|
|
38
|
+
- raw `.pkt` binaries are not committed
|
|
39
|
+
- remote GitHub imports, if used, stay under `output/remote-import-cache`
|
|
40
|
+
- `output/remote-import-cache/remote-sample-audit.json` is reviewed for license, decode, and promotion status before any claim changes
|
|
41
|
+
- user-supplied local audits, if used, stay under `output/local-sample-audit.json` or another ignored `output/` path
|
|
42
|
+
- local `pkt_examples` files remain local evidence only; no raw `.pkt`, `.pka`, local audit cache, or user-supplied corpus files are packaged
|
|
43
|
+
- examples index and gallery were rebuilt
|
|
44
|
+
- screenshots are intentional and non-sensitive
|
|
45
|
+
- changelog entry is updated for the candidate release
|
|
46
|
+
- release notes source exists: `docs/release-notes-0.2.4.md`
|
|
47
|
+
- proof-readiness dashboard exists: `docs/proof-readiness-dashboard.md`
|
|
48
|
+
- proof-readiness candidates exist: `references/proof-readiness-candidates.json`
|
|
37
49
|
- hero demo plan exists: `docs/hero-demo-plan.md`
|
|
38
|
-
- GitHub launch ops runbook exists: `docs/github-launch-ops-0.2.
|
|
50
|
+
- current GitHub launch ops runbook exists: `docs/github-launch-ops-0.2.3.md`
|
|
51
|
+
- historical GitHub launch ops runbooks remain archived and current metadata points at the published release
|
|
39
52
|
- canonical donor proof exists: `docs/campus-donor-proof.md`
|
|
40
53
|
- hero visual is selected: `examples/screenshots/complex_campus_master_edit_v4.png`
|
|
41
54
|
- runtime truth docs match current `runtime_grade` and `bridge_resolution` semantics
|
|
@@ -60,6 +73,7 @@ Only publish when:
|
|
|
60
73
|
- `package.json` version is final for the publish-preview batch
|
|
61
74
|
- doctor wording matches current runtime reality
|
|
62
75
|
- no accidental local paths leaked into tracked files
|
|
76
|
+
- no raw `.pkt`, `.pka`, or remote cache files appear in `npm pack --dry-run --json`
|
|
63
77
|
- GitHub metadata doc is final and matches README wording
|
|
64
78
|
- hero visual and release notes are ready for direct reuse
|
|
65
79
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## Highlights
|
|
8
8
|
|
|
9
|
-
- README runtime instructions now use generic Twofish bridge examples instead of a user-specific
|
|
9
|
+
- README runtime instructions now use generic Twofish bridge examples instead of a user-specific local path as the default
|
|
10
10
|
- `PKT_TWOFISH_LIBRARY` and `PKT_TWOFISH_SEARCH_ROOTS` setup paths are documented separately
|
|
11
11
|
- advanced wireless prompts classify into the `wireless_advanced` family
|
|
12
12
|
- WEP and WPA Enterprise/RADIUS are represented as edit-proven only for explicit deterministic edit targets
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# packet-tracer-skill v0.2.3
|
|
2
|
+
|
|
3
|
+
`0.2.3` is a capability proof and readiness release. It expands the set of Packet Tracer features that the skill can recognize, inventory, edit with explicit deterministic commands, and report through the feature atlas without claiming broad synthetic generation.
|
|
4
|
+
|
|
5
|
+
## Highlights
|
|
6
|
+
|
|
7
|
+
- Added voice/collaboration edit proof for IOS `telephony-service`, `ephone-dn`, `ephone`, and `dial-peer voice` command shapes.
|
|
8
|
+
- Added automation/controller script-file edit proof for existing Python, JavaScript, and TCP/UDP app files.
|
|
9
|
+
- Added L2 security/QoS proof for explicit dot1x and QoS IOS switch commands.
|
|
10
|
+
- Added router security-edge proof for explicit CBAC and ZFW IOS command shapes.
|
|
11
|
+
- Added BGP + L2 resiliency proof for BGP, STP/RSTP, EtherChannel/LACP/PAgP, VTP, and DTP IOS commands.
|
|
12
|
+
- Added IPv4 routing/NAT/IOS-management proof for OSPFv2, EIGRP IPv4, RIPv2, static/default routes, DHCP relay, NAT/PAT, SSH, NTP, and syslog.
|
|
13
|
+
- Added local user-supplied Packet Tracer corpus audit with `--local-sample-audit-root`, storing audit output under ignored `output/` paths.
|
|
14
|
+
- Hardened donor-backed readiness gates so proof-linked decode, sample, parser, and editor evidence are required before readiness promotion.
|
|
15
|
+
|
|
16
|
+
## Runtime Truth
|
|
17
|
+
|
|
18
|
+
Windows-first runtime remains the supported validation posture. This release was validated with an external Twofish bridge override, but it does not claim repo-local self-contained runtime readiness.
|
|
19
|
+
|
|
20
|
+
Use:
|
|
21
|
+
|
|
22
|
+
```powershell
|
|
23
|
+
npx packet-tracer-skill --doctor
|
|
24
|
+
python .\scripts\runtime_doctor.py
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The doctor output remains the authority for Packet Tracer install state, donor path, bridge resolution, ready operations, blocked operations, and the recommended next fix.
|
|
28
|
+
|
|
29
|
+
## Feature Atlas Truth
|
|
30
|
+
|
|
31
|
+
`generate_ready=0` remains intentional. The release improves report, edit, and donor-backed edit readiness coverage, but broad generation stays blocked until a future single-donor acceptance-backed pilot proves deterministic target inventory and acceptance JSON.
|
|
32
|
+
|
|
33
|
+
Support levels should be read in this order:
|
|
34
|
+
|
|
35
|
+
- `report_supported`: the feature is recognized and can be explained in reports.
|
|
36
|
+
- `edit_proven`: explicit command shapes have editor roundtrip evidence.
|
|
37
|
+
- `donor_backed_ready`: a proof-linked donor or selected-donor path can safely carry a narrow explicit workflow.
|
|
38
|
+
- `generate_ready`: strict scenario generation is acceptance-backed. This remains closed in `0.2.3`.
|
|
39
|
+
|
|
40
|
+
## Safety Boundaries
|
|
41
|
+
|
|
42
|
+
- No raw `.pkt` or `.pka` labs are added to the repo or npm tarball.
|
|
43
|
+
- Local `pkt_examples` evidence and remote GitHub sample imports remain evidence-only workflows.
|
|
44
|
+
- Unknown-license remote samples stay `reference_only`.
|
|
45
|
+
- ASA GUI/internal mutation, WLC/controller synthesis, broad physical/media workflows, and broad topology generation remain blocked.
|
|
46
|
+
|
|
47
|
+
## Verification
|
|
48
|
+
|
|
49
|
+
Release verification includes:
|
|
50
|
+
|
|
51
|
+
```powershell
|
|
52
|
+
python .\scripts\build_examples_index.py
|
|
53
|
+
python -m pytest tests -q
|
|
54
|
+
node --check .\bin\packet-tracer-skill.js
|
|
55
|
+
python .\scripts\generate_pkt.py --feature-gap-report
|
|
56
|
+
python .\scripts\generate_pkt.py --parity-report "campus with VLAN DHCP ACL"
|
|
57
|
+
python .\scripts\generate_pkt.py --parity-report "ospf eigrp rip static default route dhcp relay nat pat ssh ntp syslog"
|
|
58
|
+
npm pack --dry-run --json
|
|
59
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# `packet-tracer-skill` `0.2.4` Release Notes Draft
|
|
2
|
+
|
|
3
|
+
`0.2.4` is planned as a product hardening patch for the post-`0.2.3` capability surface.
|
|
4
|
+
|
|
5
|
+
The intended focus is examples truth, proof-card discoverability, local sample evidence presentation, and a proof-readiness promotion queue. It is not a broad generate-ready release.
|
|
6
|
+
|
|
7
|
+
## Planned Highlights
|
|
8
|
+
|
|
9
|
+
- Examples Truth 2.0 model with `showcase_example` and `proof_card` artifacts.
|
|
10
|
+
- Local sample evidence board summarized without committing raw `.pkt/.pka` files.
|
|
11
|
+
- Proof-readiness dashboard for the next donor-backed promotion wave.
|
|
12
|
+
- Promotion queue for IPv4 routing/management and L2 resiliency/BGP candidates.
|
|
13
|
+
- Guided user summaries for doctor, parity, and explain-plan workflows.
|
|
14
|
+
- Current docs wording aligned around `0.2.3` as the published release and `0.2.4` as the next candidate.
|
|
15
|
+
|
|
16
|
+
## Safety Posture
|
|
17
|
+
|
|
18
|
+
- `generate_ready=0` remains intentional.
|
|
19
|
+
- Raw `.pkt/.pka`, `pkt_examples`, and `output/` artifacts stay out of git and npm.
|
|
20
|
+
- Proof cards and promotion queues are planning and evidence surfaces, not broad topology generation claims.
|
package/docs/runtime-truth.md
CHANGED
|
@@ -47,14 +47,39 @@ Another mixed case:
|
|
|
47
47
|
- that still means the checkout is only partially ready as a packaged repo surface
|
|
48
48
|
- docs should continue saying `validated with external bridge override` rather than implying repo-local readiness
|
|
49
49
|
|
|
50
|
-
##
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
50
|
+
## Twofish Engine
|
|
51
|
+
|
|
52
|
+
The cipher is no longer a runtime blocker. `scripts/vendor/twofish_pure.py` is a
|
|
53
|
+
vendored pure-Python Twofish, verified against the official test vectors at
|
|
54
|
+
diagnostic time, so `decode`, `inventory`, `edit`, and `generate` are available
|
|
55
|
+
on a clean checkout with no binaries and no environment variables.
|
|
56
|
+
|
|
57
|
+
`twofish_backend` reports which engine is active:
|
|
58
|
+
|
|
59
|
+
- `pure_python`
|
|
60
|
+
The vendored repo-local engine. Always available. This is the baseline.
|
|
61
|
+
- `compiled`
|
|
62
|
+
A `_twofish` C bridge resolved from `PKT_TWOFISH_LIBRARY`,
|
|
63
|
+
`PKT_TWOFISH_SEARCH_ROOTS`, or `scripts/vendor/`. Optional, roughly 12x faster
|
|
64
|
+
on large labs, and bit-identical to the pure engine.
|
|
65
|
+
|
|
66
|
+
`bridge_resolution` describes only where the *optional accelerator* came from.
|
|
67
|
+
It no longer downgrades `runtime_grade`, and `external_env` is not a blocker.
|
|
68
|
+
|
|
69
|
+
## Test Profiles
|
|
70
|
+
|
|
71
|
+
There is one gate. The suite runs the same way with or without a compiled
|
|
72
|
+
bridge, and nothing is skipped for lack of one:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
python -m pytest tests -q
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
`PKT_REQUIRE_TWOFISH_TESTS=1` is still honoured for hosts that want to assert a
|
|
79
|
+
compiled accelerator is present, but it is no longer needed to prove real
|
|
80
|
+
`.pkt` decode/edit works.
|
|
81
|
+
|
|
82
|
+
The doctor payload exposes this as `runtime_gate_status` and repeats the most useful user-facing answer in `user_summary`. Consumers should show `user_summary.status`, `user_summary.message`, and `user_summary.next_best_action` before dumping the full diagnostic JSON.
|
|
58
83
|
|
|
59
84
|
## Publish-Preview Policy
|
|
60
85
|
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Security Edge Deepening Proof
|
|
2
|
+
|
|
3
|
+
This proof records the published `0.2.3` router-based security edge edit-proven subset and the `0.2.4` candidate proof-readiness context. The supported surface is IOS line-based CBAC/ZFW configuration on an explicitly named router. ASA GUI/internal mutation, clientless VPN, and broad security topology generation remain blocked.
|
|
4
|
+
|
|
5
|
+
## Explicit Commands
|
|
6
|
+
|
|
7
|
+
Supported CBAC shape:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
set R1 cbac inspect FIREWALL protocol tcp interface FastEthernet0/0 direction in
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This writes:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
ip inspect name FIREWALL tcp
|
|
17
|
+
interface FastEthernet0/0
|
|
18
|
+
ip inspect FIREWALL in
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Supported ZFW shapes:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
set R1 zfw zone inside interface FastEthernet0/0
|
|
25
|
+
set R1 zfw zone-pair INSIDE_OUT source inside destination outside policy POLICY1
|
|
26
|
+
set R1 zfw class-map CM_WEB match protocol http policy-map POLICY1 action inspect
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
These write:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
zone security inside
|
|
33
|
+
interface FastEthernet0/0
|
|
34
|
+
zone-member security inside
|
|
35
|
+
zone-pair security INSIDE_OUT source inside destination outside
|
|
36
|
+
service-policy type inspect POLICY1
|
|
37
|
+
class-map type inspect match-any CM_WEB
|
|
38
|
+
match protocol http
|
|
39
|
+
policy-map type inspect POLICY1
|
|
40
|
+
class type inspect CM_WEB
|
|
41
|
+
inspect
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Donor-Backed Readiness
|
|
45
|
+
|
|
46
|
+
- `zfw` is `donor_backed_ready` because it has parser, catalog, decode-verified sample, and editor roundtrip evidence.
|
|
47
|
+
- `cbac` remains `edit_proven` rather than `donor_backed_ready` because the current CBAC sample evidence is path-backed but not decode-verified in the atlas gate.
|
|
48
|
+
|
|
49
|
+
## What This Proves
|
|
50
|
+
|
|
51
|
+
- `cbac` and `zfw` are parser-recognized under the WAN/security edge family.
|
|
52
|
+
- Explicit router IOS commands roundtrip through Packet Tracer XML config text.
|
|
53
|
+
- Parity reports mark CBAC/ZFW as `edit_supported=true`, `generate_supported=false`, and `generate_mismatch_reason=supported_in_edit_only` for explicit commands.
|
|
54
|
+
- The feature atlas can classify ZFW as `donor_backed_ready` and CBAC as `edit_proven` when the proof gate is evaluated.
|
|
55
|
+
|
|
56
|
+
## What This Does Not Prove
|
|
57
|
+
|
|
58
|
+
- This does not make CBAC, ZFW, ASA ACL/NAT, ASA service policy, or clientless VPN `generate_ready`.
|
|
59
|
+
- This does not mutate ASA GUI/internal security appliance state.
|
|
60
|
+
- This does not synthesize zones, trust boundaries, NAT, VPN peers, or firewall policy from a broad prompt.
|
|
61
|
+
- ASA service-policy and clientless VPN remain report-only until exact donor-backed XML surfaces are proven.
|
|
62
|
+
|
|
63
|
+
## Safe Next Step
|
|
64
|
+
|
|
65
|
+
The next promotion should prefer router IOS CBAC/ZFW donor-backed fixtures before touching ASA internals. ASA ACL/NAT, service policy, and clientless VPN should stay report-only until a decode-backed sample and deterministic roundtrip mutation exist.
|