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
|
@@ -1036,12 +1036,39 @@ function main() {
|
|
|
1036
1036
|
}
|
|
1037
1037
|
}
|
|
1038
1038
|
printEnvExamples(runtimeDoctor);
|
|
1039
|
-
|
|
1039
|
+
// The verdict follows the checks that decide whether anything is
|
|
1040
|
+
// actually blocked, not "did any line print MISSING". A fresh install
|
|
1041
|
+
// reported `RUNTIME_GRADE ready`, `BLOCKED_OPERATIONS none` and every
|
|
1042
|
+
// capability ready, and then closed with "Runtime is not fully ready"
|
|
1043
|
+
// and exit 1 -- because `TWOFISH_SHA256` is a checksum of the optional
|
|
1044
|
+
// compiled bridge, which is absent by design when the vendored
|
|
1045
|
+
// pure-Python engine is in use. A first-time user reads that as a failed
|
|
1046
|
+
// install.
|
|
1047
|
+
const status = checkMap(checks);
|
|
1048
|
+
const isClear = (name) => {
|
|
1049
|
+
const entry = status.get(name);
|
|
1050
|
+
if (!entry) return true;
|
|
1051
|
+
const detail = (entry.detail || "").trim().toLowerCase();
|
|
1052
|
+
return entry.ok || detail === "" || detail === "none";
|
|
1053
|
+
};
|
|
1054
|
+
const gradeEntry = status.get("RUNTIME_GRADE");
|
|
1055
|
+
const grade = (gradeEntry && gradeEntry.detail ? gradeEntry.detail : "").trim();
|
|
1056
|
+
const failed =
|
|
1057
|
+
(grade !== "" && grade !== "ready") ||
|
|
1058
|
+
!isClear("RUNTIME_BLOCKERS") ||
|
|
1059
|
+
!isClear("BLOCKED_OPERATIONS");
|
|
1040
1060
|
if (failed) {
|
|
1041
1061
|
console.error("\nRuntime is not fully ready. Install copies are fine, but Packet Tracer generation still needs the missing items above.");
|
|
1042
1062
|
process.exit(1);
|
|
1043
1063
|
}
|
|
1044
|
-
|
|
1064
|
+
const informational = checks.filter(([, ok]) => !ok).map(([name]) => name);
|
|
1065
|
+
if (informational.length > 0) {
|
|
1066
|
+
console.log(
|
|
1067
|
+
`\nRuntime looks ready. Optional items not present: ${informational.join(", ")}.`
|
|
1068
|
+
);
|
|
1069
|
+
} else {
|
|
1070
|
+
console.log("\nRuntime looks ready.");
|
|
1071
|
+
}
|
|
1045
1072
|
process.exit(0);
|
|
1046
1073
|
}
|
|
1047
1074
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# GitHub Launch Ops for `v0.2.3`
|
|
2
|
+
|
|
3
|
+
`packet-tracer-skill@0.2.3` is the current published capability release. This runbook is the active launch-ops source for the published line.
|
|
4
|
+
|
|
5
|
+
## Release Object
|
|
6
|
+
|
|
7
|
+
1. Ensure tag `v0.2.3` points to the publish commit.
|
|
8
|
+
2. Create or verify the GitHub Release title `v0.2.3`.
|
|
9
|
+
3. Use `docs/release-notes-0.2.3.md` as the release body source.
|
|
10
|
+
4. Keep the hero visual as `examples/screenshots/complex_campus_master_edit_v4.png`.
|
|
11
|
+
|
|
12
|
+
## About And Topics
|
|
13
|
+
|
|
14
|
+
Use `docs/github-metadata.md` as the current source of truth.
|
|
15
|
+
|
|
16
|
+
The public wording should say:
|
|
17
|
+
|
|
18
|
+
- donor-backed
|
|
19
|
+
- open-first
|
|
20
|
+
- scenario-aware
|
|
21
|
+
- Windows-first runtime
|
|
22
|
+
- validated with external bridge override
|
|
23
|
+
|
|
24
|
+
Do not claim repo-local self-contained runtime readiness unless `runtime_doctor` semantics change.
|
|
25
|
+
|
|
26
|
+
## Discussions
|
|
27
|
+
|
|
28
|
+
Recommended categories:
|
|
29
|
+
|
|
30
|
+
- `Showcase`
|
|
31
|
+
- `Q&A`
|
|
32
|
+
- `Donor Requests`
|
|
33
|
+
- `Capability Roadmap`
|
|
34
|
+
|
|
35
|
+
## Next Candidate
|
|
36
|
+
|
|
37
|
+
`0.2.4` is a candidate product-hardening patch for Examples Truth 2.0, proof-card discoverability, local sample evidence, and proof-readiness promotion planning. It should not be presented as published until version, tag, npm, and release notes are finalized.
|
package/docs/github-metadata.md
CHANGED
|
@@ -27,13 +27,15 @@ Pinned screenshot:
|
|
|
27
27
|
|
|
28
28
|
Pinned caption:
|
|
29
29
|
|
|
30
|
-
- `donor-backed complex campus proof artifact for the 0.2.
|
|
30
|
+
- `donor-backed complex campus proof artifact for the 0.2.3 capability release`
|
|
31
31
|
|
|
32
32
|
## Release Source
|
|
33
33
|
|
|
34
|
-
- release title: `v0.2.
|
|
35
|
-
- release body source: `docs/release-notes-0.2.
|
|
36
|
-
- launch
|
|
34
|
+
- current published release title: `v0.2.3`
|
|
35
|
+
- current release body source: `docs/release-notes-0.2.3.md`
|
|
36
|
+
- current launch ops source: `docs/github-launch-ops-0.2.3.md`
|
|
37
|
+
- next candidate release notes draft: `docs/release-notes-0.2.4.md`
|
|
38
|
+
- historical `0.2.2` launch wording remains archived in `docs/launch-announcement-0.2.2.md`
|
|
37
39
|
|
|
38
40
|
## Discussions Categories
|
|
39
41
|
|
package/docs/hero-demo-plan.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Goal
|
|
4
4
|
|
|
5
|
-
Prepare one conservative hero demo flow for the `0.2.
|
|
5
|
+
Prepare one conservative hero demo flow for the current `0.2.3` capability release and the next `0.2.4` candidate surface without implying self-contained runtime readiness.
|
|
6
6
|
|
|
7
7
|
## Prompt
|
|
8
8
|
|
|
@@ -25,15 +25,15 @@ Observed Home IoT proof facts:
|
|
|
25
25
|
- IoT rule enable/disable state
|
|
26
26
|
- donor-backed wireless association
|
|
27
27
|
|
|
28
|
-
## Donor-Backed
|
|
28
|
+
## Donor-Backed Readiness Interpretation
|
|
29
29
|
|
|
30
30
|
The current product contract for Home IoT is intentionally narrow:
|
|
31
31
|
|
|
32
|
-
- `iot_registration`, `iot_control`, and `wireless_client_association` are only considered
|
|
32
|
+
- `iot_registration`, `iot_control`, and `wireless_client_association` are only considered donor-backed ready when a selected donor exists
|
|
33
33
|
- the selected donor must match `IoT/home gateway` or a compatible `wireless-heavy` shape
|
|
34
34
|
- the prompt must name deterministic targets such as the thing, gateway/server, client, AP/router, and SSID
|
|
35
35
|
|
|
36
|
-
This is why the public wording uses `donor-backed constrained
|
|
36
|
+
This is why the public wording uses `donor-backed constrained edit/readiness` rather than broad smart-home generation.
|
|
37
37
|
|
|
38
38
|
## What This Proves
|
|
39
39
|
|
|
@@ -45,7 +45,7 @@ This is why the public wording uses `donor-backed constrained-generate` rather t
|
|
|
45
45
|
## What This Does Not Prove
|
|
46
46
|
|
|
47
47
|
- it does not prove free-form smart-home topology generation is solved
|
|
48
|
-
- it does not prove every prompt mentioning IoT registration is
|
|
48
|
+
- it does not prove every prompt mentioning IoT registration is donor-backed ready or generation ready
|
|
49
49
|
- it does not remove the need for a selected donor and deterministic target resolution
|
|
50
50
|
- it does not promote WAN/security features ahead of the next wave
|
|
51
51
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# L2 Security and QoS Proof
|
|
2
2
|
|
|
3
|
-
This proof records the `0.2.3`
|
|
3
|
+
This proof records the published `0.2.3` L2 security/QoS edit-proven subset and the `0.2.4` candidate proof-readiness context. It is intentionally narrow: the skill can append deterministic IOS-style switch configuration lines for explicitly named targets, but it does not synthesize a full NAC or QoS design from a broad prompt.
|
|
4
4
|
|
|
5
5
|
## Explicit Commands
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ It is intentionally conservative:
|
|
|
10
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
|
|
|
@@ -39,7 +39,7 @@ IPv6 tunneling, ISATAP, prefix delegation, and AAAA DNS remain report-first unti
|
|
|
39
39
|
|
|
40
40
|
## Second Edit-Proven Wave
|
|
41
41
|
|
|
42
|
-
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`:
|
|
43
43
|
|
|
44
44
|
- DHCP snooping
|
|
45
45
|
- Dynamic ARP Inspection
|
|
@@ -210,8 +210,8 @@ is evidence input, not a public curated donor registry.
|
|
|
210
210
|
## Current Feature Families
|
|
211
211
|
|
|
212
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
|
|
214
|
-
- `l2_resiliency_routing`: BGP, STP/RSTP, EtherChannel, LACP/PAgP, VTP, and DTP; explicit IOS text edits are edit-proven, but not donor-backed
|
|
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
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
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
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.
|
|
@@ -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` capability
|
|
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,10 +17,16 @@ 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
|
|
@@ -36,10 +42,13 @@ python .\scripts\runtime_doctor.py
|
|
|
36
42
|
- local `pkt_examples` files remain local evidence only; no raw `.pkt`, `.pka`, local audit cache, or user-supplied corpus files are packaged
|
|
37
43
|
- examples index and gallery were rebuilt
|
|
38
44
|
- screenshots are intentional and non-sensitive
|
|
39
|
-
- changelog entry is updated for
|
|
40
|
-
- release notes source exists: `docs/release-notes-0.2.
|
|
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`
|
|
41
49
|
- hero demo plan exists: `docs/hero-demo-plan.md`
|
|
42
|
-
- 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
|
|
43
52
|
- canonical donor proof exists: `docs/campus-donor-proof.md`
|
|
44
53
|
- hero visual is selected: `examples/screenshots/complex_campus_master_edit_v4.png`
|
|
45
54
|
- runtime truth docs match current `runtime_grade` and `bridge_resolution` semantics
|
|
@@ -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
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Security Edge Deepening Proof
|
|
2
2
|
|
|
3
|
-
This proof records the `0.2.3`
|
|
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
4
|
|
|
5
5
|
## Explicit Commands
|
|
6
6
|
|
package/examples/README.md
CHANGED
|
@@ -1,75 +1,104 @@
|
|
|
1
|
-
##
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- `
|
|
8
|
-
- `
|
|
9
|
-
- `
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
Current
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Additional curated examples:
|
|
35
|
-
- `home_iot_cli_edit_v1.inventory.json`
|
|
1
|
+
## Examples Truth 2.0
|
|
2
|
+
|
|
3
|
+
The `examples/` directory is the public proof surface for the published `0.2.3` capability release and the next `0.2.4` candidate hardening batch. It is not a raw Packet Tracer lab dump and it is not a claim that broad `.pkt` generation is solved.
|
|
4
|
+
|
|
5
|
+
Global truth:
|
|
6
|
+
|
|
7
|
+
- atlas `generate_ready=0` remains intentional
|
|
8
|
+
- raw `.pkt` and `.pka` files stay out of git and npm
|
|
9
|
+
- local `pkt_examples` audits are evidence inputs only
|
|
10
|
+
- examples are either `showcase_example` artifacts or text-only `proof_card` artifacts
|
|
11
|
+
|
|
12
|
+
## Artifact Types
|
|
13
|
+
|
|
14
|
+
`showcase_example` means:
|
|
15
|
+
|
|
16
|
+
- there is a screenshot and committed inventory manifest
|
|
17
|
+
- the source workflow is donor-backed or acceptance-backed as an example artifact
|
|
18
|
+
- the binary `.pkt` is not committed
|
|
19
|
+
- the example can be used in README/npm/GitHub proof surfaces
|
|
20
|
+
|
|
21
|
+
`proof_card` means:
|
|
22
|
+
|
|
23
|
+
- there is no raw `.pkt` and no screenshot requirement
|
|
24
|
+
- the card points to a proof doc
|
|
25
|
+
- it records the explicit command shape, scenario family, support level, parity excerpt, and refusal boundary
|
|
26
|
+
- it proves a narrow edit/readiness path, not broad topology generation
|
|
27
|
+
|
|
28
|
+
## Current Showcase Examples
|
|
29
|
+
|
|
30
|
+
- `complex_campus_master_edit_v4`
|
|
31
|
+
Donor-backed complex campus edit showing management VLAN, Telnet, ACL, server services, and wireless updates without publishing the binary `.pkt`.
|
|
32
|
+
Screenshot: `screenshots/complex_campus_master_edit_v4.png`.
|
|
33
|
+
- `home_iot_cli_edit_v1`
|
|
36
34
|
Home gateway and IoT registration example focused on donor-backed, constrained gateway device onboarding.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
35
|
+
Screenshot: `screenshots/home_iot_cli_edit_v1.png`.
|
|
36
|
+
- `service_heavy_cli_edit_v1`
|
|
37
|
+
Service-heavy server example focused on DNS, DHCP, FTP, email, syslog, AAA, and related service metadata.
|
|
38
|
+
Screenshot: `screenshots/service_heavy_cli_edit_v1.png`.
|
|
39
|
+
|
|
40
|
+
## Current Proof Cards
|
|
41
|
+
|
|
42
|
+
The proof cards make the `0.2.3` capability waves discoverable from the examples gallery and feed the `0.2.4` proof-readiness dashboard:
|
|
43
|
+
|
|
44
|
+
- IPv4 routing / NAT / IOS management
|
|
45
|
+
- L2 resiliency + BGP
|
|
46
|
+
- L2 security + QoS
|
|
47
|
+
- security-edge CBAC/ZFW
|
|
48
|
+
- voice/collaboration
|
|
49
|
+
- automation/controller
|
|
50
|
+
- industrial programming
|
|
51
|
+
|
|
52
|
+
The source file is `proof-cards.json`. It is text-only and diff-friendly.
|
|
53
|
+
|
|
54
|
+
## Proof-Readiness Queue
|
|
55
|
+
|
|
56
|
+
The `0.2.4` candidate adds a promotion queue for deciding which edit-proven features can safely move toward `donor_backed_ready`.
|
|
57
|
+
|
|
58
|
+
- source artifact: `..\references\proof-readiness-candidates.json`
|
|
59
|
+
- dashboard: `..\docs\proof-readiness-dashboard.md`
|
|
60
|
+
- current primary queue: IPv4 routing, NAT, DHCP relay, SSH, NTP, and syslog IOS management
|
|
61
|
+
- current secondary queue: STP/RSTP, EtherChannel/LACP/PAgP, VTP/DTP, and BGP
|
|
62
|
+
|
|
63
|
+
The queue is intentionally conservative. Local sample counts are not enough by themselves; each promotion still needs explicit command shape, decode evidence, editor roundtrip, deterministic target resolution, and clean refusal behavior.
|
|
64
|
+
|
|
65
|
+
## Local Sample Evidence
|
|
66
|
+
|
|
67
|
+
The local audit command can summarize user-supplied Packet Tracer labs:
|
|
68
|
+
|
|
69
|
+
```powershell
|
|
70
|
+
python .\scripts\generate_pkt.py --local-sample-audit-root "C:\path\to\pkt_examples"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The default output is `output/local-sample-audit.json`. That file is ignored by git and npm packaging. It can show evidence such as STP, static routes, RIPv2, OSPFv2, DHCP, ACL, SSH, NAT, HSRP, EtherChannel, and BGP counts, but it does not promote those local files into curated public donors.
|
|
74
|
+
|
|
75
|
+
## Rebuild
|
|
76
|
+
|
|
77
|
+
Rebuild the generated index and gallery:
|
|
78
|
+
|
|
79
|
+
```powershell
|
|
80
|
+
python .\scripts\build_examples_index.py
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Generated outputs:
|
|
84
|
+
|
|
85
|
+
- `index.json`: machine-readable combined showcase/proof-card index
|
|
86
|
+
- `gallery.md`: human-readable examples and evidence gallery
|
|
87
|
+
- `previews/*.svg`: generated fallback preview images for showcase examples without screenshots
|
|
88
|
+
|
|
70
89
|
Launch references:
|
|
90
|
+
|
|
71
91
|
- `..\docs\hero-demo-plan.md`
|
|
72
|
-
- `..\docs\release-notes-0.2.
|
|
92
|
+
- `..\docs\release-notes-0.2.3.md`
|
|
93
|
+
- `..\docs\release-notes-0.2.4.md`
|
|
94
|
+
- `..\docs\proof-readiness-dashboard.md`
|
|
73
95
|
- `..\docs\campus-donor-proof.md`
|
|
74
96
|
- `..\docs\home-iot-donor-proof.md`
|
|
75
97
|
- `..\docs\wan-security-donor-proof.md`
|
|
98
|
+
- `..\docs\ipv4-routing-management-proof.md`
|
|
99
|
+
- `..\docs\l2-resiliency-bgp-proof.md`
|
|
100
|
+
- `..\docs\l2-security-qos-proof.md`
|
|
101
|
+
- `..\docs\security-edge-deepening-proof.md`
|
|
102
|
+
- `..\docs\voice-collaboration-proof.md`
|
|
103
|
+
- `..\docs\automation-controller-proof.md`
|
|
104
|
+
- `..\docs\industrial-programming-proof.md`
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
+
"schema_version": "examples.truth.v2",
|
|
2
3
|
"example_name": "complex_campus_master_edit_v4",
|
|
4
|
+
"artifact_type": "showcase_example",
|
|
3
5
|
"source_mode": "donor-backed edit",
|
|
4
6
|
"scenario_family": "campus",
|
|
5
|
-
"
|
|
7
|
+
"artifact_policy": {
|
|
6
8
|
"commit_pkt_binary": false,
|
|
7
|
-
"commit_inventory_json": true
|
|
9
|
+
"commit_inventory_json": true,
|
|
10
|
+
"commit_screenshots": true,
|
|
11
|
+
"raw_source_public": false
|
|
12
|
+
},
|
|
13
|
+
"maturity_summary": {
|
|
14
|
+
"atlas_status": "known_working_example",
|
|
15
|
+
"example_status": "known_working_example",
|
|
16
|
+
"donor_backed_ready": true,
|
|
17
|
+
"generate_ready": false
|
|
8
18
|
},
|
|
9
19
|
"artifact_paths": {
|
|
10
20
|
"screenshot": "examples/screenshots/complex_campus_master_edit_v4.png",
|