Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f1184a7
Import speckit specs/001-023 and .specify/ tooling from quant-perf-op…
xuyanwen2012 Jul 8, 2026
8ed2a70
[ET-VK] Port 4w/8da4w linear + SDPA cooperative-matrix (WMMA) shaders…
xuyanwen2012 Jul 8, 2026
4288b9d
Merge yanwen/wmma-coopmat-port: 4w/8da4w linear + SDPA WMMA coopmat port
xuyanwen2012 Jul 8, 2026
05f2b09
[llm/runner] Fix warmup() dropping num_bos, silently poisoning shape-…
xuyanwen2012 Jul 9, 2026
4048a6f
specs/025: spec/plan/tasks for 8da4w tile/subgroup coopmat parameter …
xuyanwen2012 Jul 9, 2026
63b5ce8
specs/025: implement 8da4w tile/subgroup coopmat parameter sweep on M…
xuyanwen2012 Jul 9, 2026
573d44d
[ET-VK] Enable SDPA coopmat by default on capability-eligible devices
xuyanwen2012 Jul 11, 2026
18adc5e
specs/026: 8da4w subgroup32-reopen sweep spec/plan/tasks
xuyanwen2012 Jul 11, 2026
383b161
specs/026: 8da4w subgroup32-reopen sweep results
xuyanwen2012 Jul 11, 2026
2122c9e
specs/026: Tier-2 e2e validation reverses productionize recommendation
xuyanwen2012 Jul 11, 2026
40da1b3
specs/026: correct Tier-2 e2e validation to shape-matched 8B model
xuyanwen2012 Jul 11, 2026
8cb91bd
specs/027: e2e-ranked 8da4w tile sweep finds real winner, disagreeing…
xuyanwen2012 Jul 11, 2026
42aabb4
[ET-VK] Ship specs/027's e2e-ranked 8da4w tile/loop winner as the def…
xuyanwen2012 Jul 12, 2026
c1aa3eb
specs/027: mark winner as shipped (commit 42aabb4e0)
xuyanwen2012 Jul 12, 2026
5d3f952
Add specs/015 smoke test, 018/024 results, 027 1B/3B validation, 028-…
xuyanwen2012 Jul 20, 2026
bb0ebd1
specs/033: add SUMD coopmat segfault bisect (culprit 805609f0d, GL2 f…
xuyanwen2012 Jul 22, 2026
a789214
[ET-VK] Add consolidated Llama microbenchmark for linear + SDPA coopm…
xuyanwen2012 Jul 24, 2026
96d7569
[ET-VK] microbench: split op vs kernel timing, enumerate all correctn…
xuyanwen2012 Jul 24, 2026
fee3748
[ET-VK] Port tsweep variant-toggle machinery from dev-igpu
xuyanwen2012 Jul 24, 2026
fdbc1f3
specs/036: portable per-device WMMA tile sweep toolkit
xuyanwen2012 Jul 24, 2026
f20ef0c
[ET-VK] Ship specs/036's e2e-ranked 4w coopmat tile winner as the def…
xuyanwen2012 Jul 24, 2026
572151c
[ET-VK] microbench: compose runs from suite/variant/regime/output axes
xuyanwen2012 Jul 24, 2026
e4f14ab
[ET-VK] microbench: report buffer-vs-texture storage comparison
xuyanwen2012 Jul 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .lintrunner.toml
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,11 @@ exclude_patterns = [
'**/*.jpg',
'**/*.jar',
'**/*.gif',
'**/*.elf',
'**/*.tgz',
'**/*.spv',
'**/*.disasm',
'**/*.spvasm',
'extension/llm/tokenizers',
'extension/llm/tokenizers/**',
'backends/cadence/utils/FACTO',
Expand Down
3 changes: 3 additions & 0 deletions .specify/feature.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"feature_directory": "specs/033-sumd-coopmat-segfault-bisect"
}
9 changes: 9 additions & 0 deletions .specify/init-options.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"ai": "claude",
"ai_skills": true,
"feature_numbering": "sequential",
"here": true,
"integration": "claude",
"script": "sh",
"speckit_version": "0.12.4"
}
15 changes: 15 additions & 0 deletions .specify/integration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"version": "0.12.4",
"integration_state_schema": 1,
"installed_integrations": [
"claude"
],
"integration_settings": {
"claude": {
"script": "sh",
"invoke_separator": "-"
}
},
"integration": "claude",
"default_integration": "claude"
}
17 changes: 17 additions & 0 deletions .specify/integrations/claude.manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"integration": "claude",
"version": "0.12.4",
"installed_at": "2026-07-04T06:01:17.561730+00:00",
"files": {
".claude/skills/speckit-analyze/SKILL.md": "fecd4bf113c3dda58c75d387473c0106fc2dfea97a27bb7c65af94f3f916c188",
".claude/skills/speckit-clarify/SKILL.md": "c1c2098756ca407530cca11c5b608f517d769962215ddafa013951b81e3e19c5",
".claude/skills/speckit-constitution/SKILL.md": "ee3972318415a05559c6bf281dcbd2e8deda944e595d64ab5474abeacf558697",
".claude/skills/speckit-implement/SKILL.md": "823049e49aa983fe398d4bccf6c686ab6afe8f2cd3856e0380c3ef797d78d56d",
".claude/skills/speckit-converge/SKILL.md": "04226b8443797337624983111546d5e5a48d9993a176c4e6d72a4099a0af50d4",
".claude/skills/speckit-plan/SKILL.md": "96cff48c304d7022be25dca44de7c2517319b0422129ffbead23adab0bc564a2",
".claude/skills/speckit-checklist/SKILL.md": "946c6bc808891436972a11a423f89f0fbd272a79809bb8fd1d29f481ebe02613",
".claude/skills/speckit-specify/SKILL.md": "9324dd55d12d420cd581031419fa37eb94ef75ae0bdd53391dd4414bd9d45e02",
".claude/skills/speckit-tasks/SKILL.md": "cb29fb8247a30aac751be83de88d0399221692589dd26327552ae6f193816fda",
".claude/skills/speckit-taskstoissues/SKILL.md": "dfe23aaca349cd76e98505dafa9aae1ef4616a0c35a5c79122b9bd881e16b62f"
}
}
17 changes: 17 additions & 0 deletions .specify/integrations/speckit.manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"integration": "speckit",
"version": "0.12.4",
"installed_at": "2026-07-04T06:01:17.576210+00:00",
"files": {
".specify/scripts/bash/check-prerequisites.sh": "768663bf3678ffe389665366c76372181dabf0cd9e2a51c30e9ebb9e2908a4a3",
".specify/scripts/bash/common.sh": "2bbc23eb0c1795c6808086fb28c13080c98fd9a6d3817fc6aec8d27b465cbaa9",
".specify/scripts/bash/create-new-feature.sh": "0fc636621e9cf07898f848815927438b647a0ac06581720e3ad5a547a73f1b37",
".specify/scripts/bash/setup-plan.sh": "4eb12c5b00f5c66a7d01b56c90898d320dcef4425d9b96652d57156c84948eda",
".specify/scripts/bash/setup-tasks.sh": "cf21ba2212b4dd5b435c5ea8527500cfd27768b86c0bbc7ebc3207759f118d27",
".specify/templates/checklist-template.md": "c37695297e5d3153d64f82c21223509940b13932046c7961c42d1d669516130c",
".specify/templates/constitution-template.md": "ce7549540fa45543cca797a150201d868e64495fdff39dc38246fb17bd4024b3",
".specify/templates/plan-template.md": "cc7f7979cf8d8836ec26492785affd80791d3422a2b745062ec695be8c985ef7",
".specify/templates/spec-template.md": "3945437fc35cd30a5b2bf7beea680337c3516826d3efa5a6b92c4a7eca1ba28e",
".specify/templates/tasks-template.md": "fc29a233f6f5a27ca31f1aa46b596af6500c627441c6e62b2bc4a1d721525842"
}
}
1,101 changes: 1,101 additions & 0 deletions .specify/memory/constitution.md

Large diffs are not rendered by default.

316 changes: 316 additions & 0 deletions .specify/memory/gotchas.md

Large diffs are not rendered by default.

195 changes: 195 additions & 0 deletions .specify/scripts/bash/check-prerequisites.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
#!/usr/bin/env bash

# Consolidated prerequisite checking script
#
# This script provides unified prerequisite checking for Spec-Driven Development workflow.
# It replaces the functionality previously spread across multiple scripts.
#
# Usage: ./check-prerequisites.sh [OPTIONS]
#
# OPTIONS:
# --json Output in JSON format
# --require-tasks Require tasks.md to exist (for implementation phase)
# --include-tasks Include tasks.md in AVAILABLE_DOCS list
# --paths-only Only output path variables (no validation)
# --help, -h Show help message
#
# OUTPUTS:
# JSON mode: {"FEATURE_DIR":"...", "AVAILABLE_DOCS":["..."]}
# Text mode: FEATURE_DIR:... \n AVAILABLE_DOCS: \n ✓/✗ file.md
# Paths only: REPO_ROOT: ... \n BRANCH: ... \n FEATURE_DIR: ... etc.

set -e

# Parse command line arguments
JSON_MODE=false
REQUIRE_TASKS=false
INCLUDE_TASKS=false
PATHS_ONLY=false

for arg in "$@"; do
case "$arg" in
--json)
JSON_MODE=true
;;
--require-tasks)
REQUIRE_TASKS=true
;;
--include-tasks)
INCLUDE_TASKS=true
;;
--paths-only)
PATHS_ONLY=true
;;
--help|-h)
cat << 'EOF'
Usage: check-prerequisites.sh [OPTIONS]

Consolidated prerequisite checking for Spec-Driven Development workflow.

OPTIONS:
--json Output in JSON format
--require-tasks Require tasks.md to exist (for implementation phase)
--include-tasks Include tasks.md in AVAILABLE_DOCS list
--paths-only Only output path variables (no prerequisite validation)
--help, -h Show this help message

EXAMPLES:
# Check task prerequisites (plan.md required)
./check-prerequisites.sh --json

# Check implementation prerequisites (plan.md + tasks.md required)
./check-prerequisites.sh --json --require-tasks --include-tasks

# Get feature paths only (no validation)
./check-prerequisites.sh --paths-only

EOF
exit 0
;;
*)
echo "ERROR: Unknown option '$arg'. Use --help for usage information." >&2
exit 1
;;
esac
done

# Source common functions
SCRIPT_DIR="$(CDPATH="" cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/common.sh"

# Get feature paths.
# In --paths-only mode this is pure resolution, so pass --no-persist to opt out
# of the feature.json write side effect (issue #3025).
if $PATHS_ONLY; then
_paths_output=$(get_feature_paths --no-persist) || { echo "ERROR: Failed to resolve feature paths" >&2; exit 1; }
else
_paths_output=$(get_feature_paths) || { echo "ERROR: Failed to resolve feature paths" >&2; exit 1; }
fi
eval "$_paths_output"
unset _paths_output

# If paths-only mode, output paths and exit (no validation)
if $PATHS_ONLY; then
if $JSON_MODE; then
# Minimal JSON paths payload (no validation performed)
if has_jq; then
jq -cn \
--arg repo_root "$REPO_ROOT" \
--arg branch "$CURRENT_BRANCH" \
--arg feature_dir "$FEATURE_DIR" \
--arg feature_spec "$FEATURE_SPEC" \
--arg impl_plan "$IMPL_PLAN" \
--arg tasks "$TASKS" \
'{REPO_ROOT:$repo_root,BRANCH:$branch,FEATURE_DIR:$feature_dir,FEATURE_SPEC:$feature_spec,IMPL_PLAN:$impl_plan,TASKS:$tasks}'
else
printf '{"REPO_ROOT":"%s","BRANCH":"%s","FEATURE_DIR":"%s","FEATURE_SPEC":"%s","IMPL_PLAN":"%s","TASKS":"%s"}\n' \
"$(json_escape "$REPO_ROOT")" "$(json_escape "$CURRENT_BRANCH")" "$(json_escape "$FEATURE_DIR")" "$(json_escape "$FEATURE_SPEC")" "$(json_escape "$IMPL_PLAN")" "$(json_escape "$TASKS")"
fi
else
echo "REPO_ROOT: $REPO_ROOT"
echo "BRANCH: $CURRENT_BRANCH"
echo "FEATURE_DIR: $FEATURE_DIR"
echo "FEATURE_SPEC: $FEATURE_SPEC"
echo "IMPL_PLAN: $IMPL_PLAN"
echo "TASKS: $TASKS"
fi
exit 0
fi

# Validate required directories and files
if [[ ! -d "$FEATURE_DIR" ]]; then
echo "ERROR: Feature directory not found: $FEATURE_DIR" >&2
echo "Run /speckit-specify first to create the feature structure." >&2
exit 1
fi

if [[ ! -f "$IMPL_PLAN" ]]; then
echo "ERROR: plan.md not found in $FEATURE_DIR" >&2
echo "Run /speckit-plan first to create the implementation plan." >&2
exit 1
fi

# Check for tasks.md if required
if $REQUIRE_TASKS && [[ ! -f "$TASKS" ]]; then
echo "ERROR: tasks.md not found in $FEATURE_DIR" >&2
echo "Run /speckit-tasks first to create the task list." >&2
exit 1
fi

# Build list of available documents
docs=()

# Always check these optional docs
[[ -f "$RESEARCH" ]] && docs+=("research.md")
[[ -f "$DATA_MODEL" ]] && docs+=("data-model.md")

# Check contracts directory (only if it exists and has files)
if [[ -d "$CONTRACTS_DIR" ]] && [[ -n "$(ls -A "$CONTRACTS_DIR" 2>/dev/null)" ]]; then
docs+=("contracts/")
fi

[[ -f "$QUICKSTART" ]] && docs+=("quickstart.md")

# Include tasks.md if requested and it exists
if $INCLUDE_TASKS && [[ -f "$TASKS" ]]; then
docs+=("tasks.md")
fi

# Output results
if $JSON_MODE; then
# Build JSON array of documents
if has_jq; then
if [[ ${#docs[@]} -eq 0 ]]; then
json_docs="[]"
else
json_docs=$(printf '%s\n' "${docs[@]}" | jq -R . | jq -s .)
fi
jq -cn \
--arg feature_dir "$FEATURE_DIR" \
--argjson docs "$json_docs" \
'{FEATURE_DIR:$feature_dir,AVAILABLE_DOCS:$docs}'
else
if [[ ${#docs[@]} -eq 0 ]]; then
json_docs="[]"
else
json_docs=$(for d in "${docs[@]}"; do printf '"%s",' "$(json_escape "$d")"; done)
json_docs="[${json_docs%,}]"
fi
printf '{"FEATURE_DIR":"%s","AVAILABLE_DOCS":%s}\n' "$(json_escape "$FEATURE_DIR")" "$json_docs"
fi
else
# Text output
echo "FEATURE_DIR:$FEATURE_DIR"
echo "AVAILABLE_DOCS:"

# Show status of each potential document
check_file "$RESEARCH" "research.md"
check_file "$DATA_MODEL" "data-model.md"
check_dir "$CONTRACTS_DIR" "contracts/"
check_file "$QUICKSTART" "quickstart.md"

if $INCLUDE_TASKS; then
check_file "$TASKS" "tasks.md"
fi
fi
Loading