packet-tracer-skill 0.2.1 → 0.2.3

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 (43) hide show
  1. package/CHANGELOG.md +53 -2
  2. package/README.md +443 -124
  3. package/docs/automation-controller-proof.md +35 -0
  4. package/docs/campus-donor-proof.md +103 -0
  5. package/docs/curated-donor-registry.md +37 -0
  6. package/docs/generate-ready-pilot-design.md +30 -0
  7. package/docs/github-launch-ops-0.2.1.md +45 -0
  8. package/docs/github-launch-ops-0.2.2.md +42 -0
  9. package/docs/github-metadata.md +23 -6
  10. package/docs/home-iot-donor-proof.md +64 -0
  11. package/docs/industrial-programming-proof.md +48 -0
  12. package/docs/ipv4-routing-management-proof.md +37 -0
  13. package/docs/l2-resiliency-bgp-proof.md +60 -0
  14. package/docs/l2-security-qos-proof.md +59 -0
  15. package/docs/launch-announcement-0.2.2.md +15 -0
  16. package/docs/packet-tracer-feature-gap-atlas.md +244 -0
  17. package/docs/post-launch-follow-up.md +39 -0
  18. package/docs/publish-preview-roadmap.md +20 -17
  19. package/docs/release-checklist.md +32 -17
  20. package/docs/release-notes-0.2.1.md +7 -6
  21. package/docs/release-notes-0.2.2.md +26 -0
  22. package/docs/release-notes-0.2.3.md +59 -0
  23. package/docs/runtime-truth.md +31 -0
  24. package/docs/security-edge-deepening-proof.md +65 -0
  25. package/docs/voice-collaboration-proof.md +38 -0
  26. package/docs/wan-security-donor-proof.md +58 -0
  27. package/docs/wireless-advanced-proof.md +60 -0
  28. package/examples/README.md +11 -8
  29. package/examples/gallery.md +9 -3
  30. package/examples/index.json +3 -3
  31. package/package.json +20 -1
  32. package/references/curated-donor-registry.json +5 -2
  33. package/references/packettracer-feature-atlas.json +183 -0
  34. package/references/scenario-fixture-corpus.json +1 -0
  35. package/scripts/build_examples_index.py +26 -15
  36. package/scripts/coverage_matrix.py +1054 -25
  37. package/scripts/feature_atlas.py +293 -0
  38. package/scripts/generate_pkt.py +491 -34
  39. package/scripts/intent_parser.py +798 -8
  40. package/scripts/pkt_editor.py +651 -0
  41. package/scripts/remote_search.py +197 -21
  42. package/scripts/runtime_doctor.py +83 -10
  43. package/scripts/sample_catalog.py +266 -6
@@ -0,0 +1,244 @@
1
+ # Packet Tracer Feature Gap Atlas
2
+
3
+ This atlas is the public truth source for Packet Tracer 9.0 features that exist in local Cisco samples but are not yet fully productized by this skill.
4
+
5
+ It is intentionally conservative:
6
+
7
+ - `inventory_known` means a Packet Tracer sample or path proves the feature exists.
8
+ - `report_supported` means the skill can recognize and report the feature without claiming mutation support.
9
+ - `edit_proven` requires a roundtrip editor test.
10
+ - `donor_backed_ready` requires selected-donor evidence or a validated proof-linked explicit edit gate with sample, decode, and roundtrip evidence.
11
+ - `generate_ready` requires acceptance-backed generate behavior.
12
+
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
+
15
+ ## Remote Sample Evidence
16
+
17
+ GitHub `.pkt` repositories can add discovery evidence, but they do not automatically change feature maturity.
18
+
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.
37
+
38
+ IPv6 tunneling, ISATAP, prefix delegation, and AAAA DNS remain report-first until separate donor-backed editor proof exists.
39
+
40
+ ## Second Edit-Proven Wave
41
+
42
+ The second promotion wave is `l2_security_monitoring`. The following subset is edit-proven for explicit commands, but still not broad generate-ready:
43
+
44
+ - DHCP snooping
45
+ - Dynamic ARP Inspection
46
+ - LLDP
47
+ - REP
48
+ - SNMP community
49
+ - NetFlow export
50
+ - SPAN/RSPAN
51
+ - Port security
52
+
53
+ 802.1X/NAC and QoS remain report-first in this wave. Decode-fail Packet Tracer samples can prove that a feature exists by path/catalog evidence, but they do not create edit or generate readiness by themselves.
54
+
55
+ ## Third Edit-Proven Wave
56
+
57
+ The third promotion wave is `wireless_advanced`. This wave deliberately promotes
58
+ only the safest explicit wireless edit subset:
59
+
60
+ - WEP SSID/security mutation
61
+ - WPA Enterprise/RADIUS SSID/security intent
62
+
63
+ These capabilities can report `edit_supported=true` only when the prompt is an
64
+ explicit wireless edit command with a deterministic AP/router/WLC target and
65
+ SSID. They still report `generate_supported=false` and
66
+ `generate_mismatch_reason=supported_in_edit_only`.
67
+
68
+ WLC/controller workflows, Meraki, cellular/5G, Bluetooth, beamforming, and
69
+ guest Wi-Fi remain report-only until separate donor-backed editor proof exists.
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
+
210
+ ## Current Feature Families
211
+
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.
218
+ - `wireless_advanced`: WLC, WPA Enterprise/RADIUS, WEP/WPA modes, guest Wi-Fi, beamforming, Meraki, 5G/cellular, Bluetooth.
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.
222
+ - `physical_media_device`: coaxial, cable/DSL, central office, cell tower, power distribution, hot-swappable modules, IOS/license workflows.
223
+
224
+ ## CLI
225
+
226
+ ```powershell
227
+ python .\scripts\generate_pkt.py --feature-gap-report
228
+ python .\scripts\generate_pkt.py --local-sample-audit-root "C:\path\to\pkt_examples"
229
+ ```
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
+
233
+ The report includes:
234
+
235
+ - total Packet Tracer feature groups tracked
236
+ - mapped and unmapped feature counts
237
+ - status counts by support level
238
+ - sample-backed feature counts
239
+ - top missing feature families
240
+ - per-feature evidence from parser, catalog, coverage, editor tests, and Packet Tracer sample paths
241
+
242
+ ## Product Rule
243
+
244
+ Feature atlas support is not the same as generation support. A feature can be visible in `--feature-gap-report` and still remain blocked in `--explain-plan`, `--compare-scenarios`, or `--parity-report` until donor-backed proof exists.
@@ -0,0 +1,39 @@
1
+ # Post-Launch Follow-Up
2
+
3
+ ## Immediate Follow-Up Items
4
+
5
+ - complete GitHub launch ops from `docs/github-launch-ops-0.2.2.md`
6
+ - publish one canonical donor proof artifact: `docs/campus-donor-proof.md`
7
+ - publish one Home IoT donor proof artifact: `docs/home-iot-donor-proof.md`
8
+ - publish one WAN/security donor proof artifact: `docs/wan-security-donor-proof.md`
9
+ - keep README, release notes, launch announcement, and GitHub metadata in sync
10
+
11
+ ## Next Technical Proof Batch
12
+
13
+ - use the canonical `campus` donor proof path first
14
+ - close shorthand campus family fidelity before broadening scenario scope
15
+ - improve selected donor reasoning visibility before adding new capability scope
16
+ - preserve the difference between donor-limited refusal and runtime-blocked refusal
17
+ - make the closest rejected donor class and primary rejection code visible in the public decision surface
18
+ - lift Home IoT only through donor-backed deterministic targets, not broad smart-home synthesis
19
+
20
+ ## Runtime Clarity Improvements
21
+
22
+ - keep `validated with external bridge override` wording consistent
23
+ - make `validate_open ready but strict generate blocked` easier to read in both docs and doctor output
24
+ - treat runtime clarity as a product surface, not a debug detail
25
+ - keep `what_currently_works`, `what_is_blocked`, and `best_next_fix` aligned with `doctor_summary`
26
+
27
+ ## Trigger Conditions for `0.2.2` or the Next Minor
28
+
29
+ - README / npm / GitHub wording drift
30
+ - donor proof uncovers a concrete selector mismatch worth productizing
31
+ - runtime doctor wording becomes ambiguous again
32
+ - examples and public proof artifacts stop matching current behavior
33
+ - selected donor refusal becomes too generic to explain the closest rejected donor class
34
+
35
+ ## Next Integration Wave
36
+
37
+ - after the Home IoT and wireless internal gate closes, keep `wan_security_edge` scoped to report/selection plus donor-backed readiness
38
+ - next constrained edit candidates remain `vpn`, `ipsec`, `gre`, `ppp`, `security_edge`, and `multilayer_switching`
39
+ - do not open that wave until the Home IoT proof and readiness wording are stable
@@ -9,23 +9,26 @@
9
9
  - docs and runtime wording match actual behavior
10
10
  - template fallback assets are checked in and release-surface tests protect them
11
11
 
12
- ## Step B: Public `0.2.x` Publish-Preview
13
-
14
- - `package.json` is versioned at `0.2.1`
15
- - release notes draft is ready: `docs/release-notes-0.2.1.md`
16
- - hero visual is locked to `examples/screenshots/complex_campus_master_edit_v4.png`
17
- - hero demo execution plan is ready: `docs/hero-demo-plan.md`
18
- - GitHub About/Topics text is finalized in `docs/github-metadata.md`
19
- - npm publish checklist is complete and conservative runtime wording is preserved
20
- - final publish batch should only do:
21
- - npm publish
22
- - GitHub release creation
23
- - About/Topics update in GitHub UI
24
- - Discussions opening and release announcement
12
+ ## Step B: Public `0.2.x` Publish-Preview
13
+
14
+ - `package.json` is versioned at `0.2.2`
15
+ - npm publish target is `packet-tracer-skill@0.2.2`
16
+ - release notes source is ready: `docs/release-notes-0.2.2.md`
17
+ - hero visual is locked to `examples/screenshots/complex_campus_master_edit_v4.png`
18
+ - hero demo execution plan is ready: `docs/hero-demo-plan.md`
19
+ - GitHub About/Topics text is finalized in `docs/github-metadata.md`
20
+ - launch ops runbook is ready: `docs/github-launch-ops-0.2.2.md`
21
+ - npm publish checklist is complete and conservative runtime wording is preserved
22
+ - remaining public launch ops are:
23
+ - GitHub release creation
24
+ - About/Topics update in GitHub UI
25
+ - Discussions opening
26
+ - release announcement application
25
27
 
26
28
  ## Step C: `1.0.0` Preparation
27
29
 
28
- - at least one populated curated donor path is actively used in practice
29
- - runtime messaging remains conservative and stable
30
- - one richer example family or improved `wan_security_edge` reporting is added
31
- - publish-preview feedback is folded back into docs and trust surface
30
+ - at least one populated curated donor path is publicly proven in practice
31
+ - runtime messaging remains conservative and stable
32
+ - one richer example family or improved `wan_security_edge` reporting/proof is added
33
+ - publish-preview feedback is folded back into docs and trust surface
34
+ - post-launch follow-up is tracked in `docs/post-launch-follow-up.md`
@@ -1,6 +1,6 @@
1
1
  # Release Checklist
2
2
 
3
- Target release surface: `0.2.1` conservative public preview.
3
+ Target release surface: `0.2.3` capability proof/readiness release.
4
4
 
5
5
  ## Product Contract
6
6
 
@@ -27,25 +27,33 @@ python .\scripts\runtime_doctor.py
27
27
  - `files` includes docs and runtime assets needed by consumers
28
28
  - version bump matches semver intent
29
29
 
30
- ## Public Artifacts
31
-
32
- - raw `.pkt` binaries are not committed
33
- - examples index and gallery were rebuilt
34
- - screenshots are intentional and non-sensitive
35
- - changelog entry is updated for `0.2.1`
36
- - release notes draft exists: `docs/release-notes-0.2.1.md`
37
- - hero demo plan exists: `docs/hero-demo-plan.md`
38
- - hero visual is selected: `examples/screenshots/complex_campus_master_edit_v4.png`
39
- - runtime truth docs match current `runtime_grade` and `bridge_resolution` semantics
40
- - curated donor registry entries are reviewed for promotion status and provenance
30
+ ## Public Artifacts
31
+
32
+ - raw `.pkt` binaries are not committed
33
+ - remote GitHub imports, if used, stay under `output/remote-import-cache`
34
+ - `output/remote-import-cache/remote-sample-audit.json` is reviewed for license, decode, and promotion status before any claim changes
35
+ - user-supplied local audits, if used, stay under `output/local-sample-audit.json` or another ignored `output/` path
36
+ - local `pkt_examples` files remain local evidence only; no raw `.pkt`, `.pka`, local audit cache, or user-supplied corpus files are packaged
37
+ - examples index and gallery were rebuilt
38
+ - screenshots are intentional and non-sensitive
39
+ - changelog entry is updated for `0.2.3`
40
+ - release notes source exists: `docs/release-notes-0.2.3.md`
41
+ - hero demo plan exists: `docs/hero-demo-plan.md`
42
+ - GitHub launch ops runbook exists: `docs/github-launch-ops-0.2.2.md`
43
+ - canonical donor proof exists: `docs/campus-donor-proof.md`
44
+ - hero visual is selected: `examples/screenshots/complex_campus_master_edit_v4.png`
45
+ - runtime truth docs match current `runtime_grade` and `bridge_resolution` semantics
46
+ - curated donor registry entries are reviewed for promotion status and provenance
41
47
 
42
48
  ## GitHub Surface
43
49
 
44
50
  - CI workflow is green
45
51
  - issue templates are present
46
52
  - contributing and security docs exist
47
- - citation metadata exists
48
- - About/Topics are ready to be updated in GitHub UI
53
+ - citation metadata exists
54
+ - About/Topics are ready to be updated in GitHub UI
55
+ - release body source is ready for direct paste into GitHub Releases
56
+ - Discussions categories are decision-complete in docs
49
57
 
50
58
  ## Publish Gate
51
59
 
@@ -55,6 +63,13 @@ Only publish when:
55
63
  - README renders cleanly
56
64
  - `package.json` version is final for the publish-preview batch
57
65
  - doctor wording matches current runtime reality
58
- - no accidental local paths leaked into tracked files
59
- - GitHub metadata doc is final and matches README wording
60
- - hero visual and release notes are ready for direct reuse
66
+ - no accidental local paths leaked into tracked files
67
+ - no raw `.pkt`, `.pka`, or remote cache files appear in `npm pack --dry-run --json`
68
+ - GitHub metadata doc is final and matches README wording
69
+ - hero visual and release notes are ready for direct reuse
70
+
71
+ ## Post-Publish Follow-Up
72
+
73
+ - apply GitHub launch ops if they were not automated
74
+ - publish one canonical donor proof note
75
+ - use `docs/post-launch-follow-up.md` as the source for the next patch trigger conditions
@@ -1,8 +1,8 @@
1
- # `packet-tracer-skill` `0.2.1` Release Notes Draft
1
+ # `packet-tracer-skill` `0.2.1` Release Notes Source
2
2
 
3
3
  ## Summary
4
4
 
5
- `0.2.1` is a conservative public preview patch release for `packet-tracer-skill`. It hardens the npm package surface around donor-backed planning, open-first generation rules, scenario-aware reporting, and Windows-first runtime truth.
5
+ `0.2.1` is a conservative public preview patch release for `packet-tracer-skill`. The npm package is already live, and this file is the source text for the GitHub release body.
6
6
 
7
7
  ## Highlights
8
8
 
@@ -14,12 +14,13 @@
14
14
 
15
15
  ## Runtime Notes
16
16
 
17
- - real `.pkt` runtime remains Windows-first
17
+ - real `.pkt` runtime remains Windows-first runtime
18
18
  - strict validation is currently performed with an external bridge override when repo-local bridge assets are not bundled
19
19
  - public docs intentionally preserve the distinction between repo-local readiness and external bridge fallback
20
20
 
21
21
  ## Public Preview Intent
22
22
 
23
- - this release prepares the repo for npm publish and GitHub release
24
- - it does not change the product contract to imply `1.0.0` stability
25
- - publish should happen only after the short follow-up batch that applies the prepared metadata and release steps
23
+ - `packet-tracer-skill@0.2.1` is already published on npm
24
+ - GitHub release, About/Topics application, and Discussions setup still follow the prepared manual launch ops flow
25
+ - it does not change the product contract to imply `1.0.0` stability
26
+ - the next public-facing technical step is a canonical campus donor proof artifact, not broader synthetic scope
@@ -0,0 +1,26 @@
1
+ # `packet-tracer-skill` `0.2.2` Release Notes Source
2
+
3
+ ## Summary
4
+
5
+ `0.2.2` is a conservative patch release for the public preview line. It publishes the README runtime cleanup and the advanced wireless feature wave without changing the core safety posture.
6
+
7
+ ## Highlights
8
+
9
+ - README runtime instructions now use generic Twofish bridge examples instead of a user-specific local path as the default
10
+ - `PKT_TWOFISH_LIBRARY` and `PKT_TWOFISH_SEARCH_ROOTS` setup paths are documented separately
11
+ - advanced wireless prompts classify into the `wireless_advanced` family
12
+ - WEP and WPA Enterprise/RADIUS are represented as edit-proven only for explicit deterministic edit targets
13
+ - WLC, Meraki, cellular, Bluetooth, beamforming, and guest Wi-Fi remain report-only unless future donor-backed edit proof is added
14
+ - feature atlas and release-surface tests protect the conservative support claims
15
+
16
+ ## Runtime Notes
17
+
18
+ - real `.pkt` runtime remains Windows-first runtime
19
+ - strict validation is currently performed with an external bridge override when repo-local bridge assets are not bundled
20
+ - public docs intentionally preserve the distinction between repo-local readiness and external bridge fallback
21
+
22
+ ## Public Preview Intent
23
+
24
+ - `packet-tracer-skill@0.2.2` is the patch release for README cleanup and advanced wireless report/edit truth
25
+ - this release does not claim `generate_ready` support for broad advanced wireless controller, cellular, Bluetooth, or Meraki scenarios
26
+ - unsupported and acceptance-gated mutations still refuse instead of guessing
@@ -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
+ ```
@@ -18,6 +18,35 @@ That distinction is part of the public product contract.
18
18
  - `blocked`
19
19
  Required donor, bridge, or Packet Tracer runtime pieces are missing.
20
20
 
21
+ ## How To Read `--doctor`
22
+
23
+ - if `runtime_grade=ready`, strict decode/edit/generate and `validate_open` are available from the current checkout
24
+ - if `runtime_grade=partially_ready`, at least one operation still works, but the product contract is not fully satisfied
25
+ - if `runtime_grade=blocked`, no critical runtime path is ready enough to claim strict `.pkt` support
26
+
27
+ High-signal fields:
28
+
29
+ - `what_currently_works`
30
+ Short sentence for the operations that are usable right now.
31
+ - `what_is_blocked`
32
+ Short sentence for the operations that are still blocked.
33
+ - `why_it_is_blocked`
34
+ Product-facing reason for the current blocker set.
35
+ - `best_next_fix`
36
+ The single next fix that should be done first.
37
+
38
+ High-signal mixed case:
39
+
40
+ - `validate_open` can be `ready` while `inventory`, `decode`, `edit`, and `generate` are blocked
41
+ - this means Packet Tracer is installed, but the donor and/or bridge path is still not sufficient for strict `.pkt` work
42
+ - in that state, `best_next_fix` should point at donor or bridge remediation before anything else
43
+
44
+ Another mixed case:
45
+
46
+ - all listed operations can be operationally ready while `bridge_resolution=external_env`
47
+ - that still means the checkout is only partially ready as a packaged repo surface
48
+ - docs should continue saying `validated with external bridge override` rather than implying repo-local readiness
49
+
21
50
  ## Bridge Resolution
22
51
 
23
52
  - `repo_local`
@@ -47,3 +76,5 @@ If tests pass only with an external bridge:
47
76
  - do not say "runtime ready" without qualification
48
77
  - do say "validated with external bridge override"
49
78
  - do preserve the difference between repo-local readiness and external fallback
79
+ - do say when `validate_open` is ready but strict decode/edit/generate are still blocked
80
+ - do keep `what_currently_works`, `what_is_blocked`, and `best_next_fix` aligned with `doctor_summary`
@@ -0,0 +1,65 @@
1
+ # Security Edge Deepening Proof
2
+
3
+ This proof records the `0.2.3` candidate router-based security edge edit-proven subset. 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.