Skip to content
This repository was archived by the owner on Jul 25, 2026. It is now read-only.

Align sync issue generation with Issue #29 format and remove preview/insider branch sync paths - #101

Merged
snickler merged 11 commits into
devfrom
copilot/sync-upstream-dev-changes-again
Jun 5, 2026
Merged

Align sync issue generation with Issue #29 format and remove preview/insider branch sync paths#101
snickler merged 11 commits into
devfrom
copilot/sync-upstream-dev-changes-again

Conversation

Copilot AI commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Sync issues now follow the richer, action-oriented format used in Issue #29 so porting work is clearly scoped and trackable. In parallel, sync automation was constrained to the active branch model by removing preview/insider branch sync behavior.

  • Issue body format parity (Issue Sync: upstream dev changes — 2026-04-10 #29 style)

    • Updated .github/workflows/sync-check.yml issue body generation to emit:
      • phase header + explicit porting instructions
      • commit and file-diff sections
      • sync-state table
      • completion checklist
    • Retitled generated issues from ...changes detected... to ...changes... to match the established style.
  • Branch model correction (no preview/insider sync)

    • Removed preview/insider comparison and delta logic from sync-check.yml.
    • Simplified sync-state output to only the actively synced branch context.
  • Preview workflow behavior

    • Converted .github/workflows/sync-check-preview.yml into an explicit no-op workflow (manual trigger only) so no sync attempt is made against non-existent preview/insider upstream branches.
    • Added explicit permissions to the disabled workflow for least-privilege compliance.
# .github/workflows/sync-check-preview.yml
on:
  workflow_dispatch:

permissions:
  contents: read

jobs:
  sync-preview-disabled:
    runs-on: ubuntu-latest
    steps:
      - name: Skip preview sync
        run: echo "Preview sync is disabled because upstream preview/insider branches are no longer used."

Copilot AI linked an issue Jun 3, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Sync upstream changes from dev branch Sync upstream template updates: add e2e-template-testing skill across mirrored template surfaces Jun 3, 2026
Copilot AI requested a review from snickler June 3, 2026 23:19
@snickler

snickler commented Jun 3, 2026

Copy link
Copy Markdown
Owner

@copilot there are still more upstream changes in commits that have been made on the upstream squad repo on the dev branch that we don't have implemented. I need those accounted for.

Copilot AI commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

@copilot there are still more upstream changes in commits that have been made on the upstream squad repo on the dev branch that we don't have implemented. I need those accounted for.

Implemented additional upstream-accounting updates in 4fcc50f.

This adds the upstream-aligned template E2E guidance to CONTRIBUTING.md (including the current copilot --agent squad --allow-all-tools -p invocation) and adds a regression check in RepositoryTemplateConsistencyTests so the guidance stays enforced.

Copilot AI changed the title Sync upstream template updates: add e2e-template-testing skill across mirrored template surfaces Sync upstream template updates: add e2e-template-testing skill and E2E contributor guidance Jun 3, 2026
Copilot AI changed the title Sync upstream template updates: add e2e-template-testing skill and E2E contributor guidance Align sync issue generation with Issue #29 format and remove preview/insider branch sync paths Jun 3, 2026
Copilot AI added 6 commits June 4, 2026 12:06
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…8, upstream/dev@6a72634)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…v@aa9e8a5, upstream/dev@66c4a72)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…up rules (upstream/dev@fe1e7e8, upstream/dev@8a62093)

- Expand coordinator skill-aware routing to scan 5 skill paths in precedence order
- Add traversal safety: single-level scan, reject symlinks/reparse points
- Add dedup rules: case-insensitive, NFC normalization, reserved-name checks
- Add personal-path exclusion rationale for CLI-only injection
- Applied uniformly across .github/agents/squad.agent.md, .squad/templates/squad.agent.md, src/Templates/squad.agent.md.template

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@snickler
snickler marked this pull request as ready for review June 5, 2026 17:43
Copilot AI review requested due to automatic review settings June 5, 2026 17:43
@snickler
snickler merged commit 513ac33 into dev Jun 5, 2026
9 checks passed
@snickler
snickler deleted the copilot/sync-upstream-dev-changes-again branch June 5, 2026 17:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR expands Squad’s template and sharing capabilities by adding an end-to-end template testing skill/workflow, improving coordinator template guidance (team root resolution + skill path routing rules), and preserving top-level squad files during sharing export/import.

Changes:

  • Add top-level file support (team.md, decisions.md, routing.md) to sharing export/import, including empty-file round trips.
  • Add E2E template testing skill + CONTRIBUTING guidance, and update template consistency tests accordingly.
  • Update coordinator templates and sync-check workflows (new issue format, disable preview sync).

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
tests/Squad.SDK.NET.Tests/RepositoryTemplateConsistencyTests.cs Tracks new skill template file paths and adds a CONTRIBUTING.md expectation test.
tests/Squad.SDK.NET.Tests/AdvancedModulesTests.cs Adds regression tests for exporting/importing top-level files (including empty files).
src/Squad.SDK.NET/Templates/squad.agent.md.template Updates coordinator template guidance (team root resolution, skill routing rules, work freshness, post-work budget).
src/Squad.SDK.NET/Templates/skills/e2e-template-testing/SKILL.md Adds a new skill documenting E2E validation for template changes.
src/Squad.SDK.NET/Sharing/SquadImporter.cs Includes the deserialized payload on successful import.
src/Squad.SDK.NET/Sharing/SquadExporter.cs Adds topLevelFiles payload support to exports and export-to-file.
src/Squad.SDK.NET/Sharing/SharingTypes.cs Extends sharing DTOs with TopLevelFiles and ImportedSquad.
src/Squad.SDK.NET/Sharing/SharingJsonContext.cs Adds source-gen metadata for dictionary serialization.
CONTRIBUTING.md Documents the E2E template testing workflow and references the new skill.
.squad/templates/squad.agent.md Mirrors coordinator template guidance updates for the repo-managed template.
.squad/templates/skills/e2e-template-testing/SKILL.md Adds the E2E template testing skill into squad templates.
.github/workflows/sync-check.yml Updates sync issue body format and adds a clearer completion checklist/state table.
.github/workflows/sync-check-preview.yml Disables preview sync workflow execution.
.github/agents/squad.agent.md Mirrors coordinator template guidance updates for GitHub Agents surface.
.copilot/skills/upstream-dev-sync/SKILL.md Adds a skill documenting the upstream dev sync/porting process for this repo.
.copilot/skills/e2e-template-testing/SKILL.md Adds the E2E template testing skill to Copilot skills.
.changeset/sync-sharing-top-level-files.md Declares a patch release for top-level file sharing support.
.changeset/skill-routing-parity.md Declares a patch release for skill-routing parity changes.

Comment on lines +71 to +76
public async Task ExportToFileAsync(
SquadConfig config,
string filePath,
string? author = null,
IReadOnlyDictionary<string, string?>? topLevelFiles = null,
CancellationToken cancellationToken = default)
Comment on lines +84 to +97
private static IReadOnlyDictionary<string, string> NormalizeTopLevelFiles(
IReadOnlyDictionary<string, string?>? topLevelFiles)
{
if (topLevelFiles is null || topLevelFiles.Count == 0)
return new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);

var normalized = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
foreach (var (key, value) in topLevelFiles)
{
if (string.IsNullOrWhiteSpace(key))
continue;

normalized[key] = value ?? string.Empty;
}
Comment on lines +20 to +24
/// <summary>
/// Gets exported top-level squad files (for example <c>team.md</c>, <c>decisions.md</c>, and <c>routing.md</c>).
/// Values may be empty strings when the source file existed but had no content.
/// </summary>
public IReadOnlyDictionary<string, string> TopLevelFiles { get; init; } = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
Comment on lines +1 to +3
---
"squad.sdk.net": patch
---
Comment on lines 837 to 839
Check .copilot/skills/ for copilot-level skills (process, workflow, protocol).
Check .squad/skills/ for team-level skills (patterns discovered during work).
Read any relevant SKILL.md files before working.
Comment on lines +11 to +15
Squad's coordinator prompt (`squad.agent.md`) and agent charters (e.g.
`scribe-charter.md`) are shipped as templates in `.squad-templates/`. Changes to
these files affect how every squad session behaves — but unit tests can't catch
prompt-level regressions because the prompts are interpreted by an LLM at
runtime.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sync: upstream dev changes detected — 2026-05-19

4 participants