Development and Change Logs

Pending cleanup

 

Social Platform Logins — Status & Policy Update

<SOCIAL LOGINS HAVE BEEN TEMPORARILY DISABLED AS WE INTEGRATE THE SSO FUNCTIONS IN CORE>

Current Platform Status

Google

Operational

Fully functional and tested

Apple

Pending

Awaiting developer API approval

Facebook

Configuration Required

Needs return path correction

Microsoft

Configuration Required

Needs return path correction

GitHub

Untested

Integration added, pending verification

 

About Social Logins on CanuckDUCK

The social login functionality is designed to streamline the sign-in process for new users. However, accounts created via social login are considered unverified within the CanuckDUCK ecosystem until identity verification is completed.

Current Restrictions:

  • All social login users are permissionless by default
  • No roles or access are granted until:
    • JWT token verification is complete
    • Identity is linked and validated via Core

Centralized Authentication: Core-Only Logins

As part of the ecosystem-wide authentication redesign:

  • Core (core.canuckduck.ca) is now the sole login gateway for the platform.
  • All other CanuckDUCK subdomains will have their login functionality disabled or redirected.
  • Upon successful login at Core, users are issued a JWT token and redirected back to their destination subdomain via /auth/consume.

This ensures:

  • Secure role binding and permission resolution
  • Auditability and centralized session tracking
  • No partial or fragmented login states across services

Next Steps

  • Finalize Apple Developer login approval
  • Correct return paths for Microsoft and Facebook
  • Test GitHub integration
  • Complete JWT token consumption setup across all subdomains
  • Remove legacy login forms from Pond, Consensus, Ducklings, etc.
  • Delete
  • Edit
  • Reply

Submitted by coreadmin on Mon, 07/28/2025 - 15:31

Permalink

Support

Support site is roughed in and is functional (osTicket) and will be the functional support site for the environment.

support.canuckduck.ca

Submitted by coreadmin on Mon, 07/28/2025 - 15:34

Permalink

Communities.Canuckduck.ca — Platform Structure & Content Update

URL Pathing Framework Complete

The geographic pathing structure for all community pages is now fully implemented and standardized across the CanuckDUCK ecosystem. The canonical format follows:

swift

CopyEdit

/ca/{province}/{city}/{community}

Example:
/ca/ab/calgary/sunnyside

This hierarchy reflects the civic structure of Canada and will remain consistent across modules like Pond, Consensus, and Flightplan.

Base path: https://communities.canuckduck.ca/ca/ab/calgary

Database Integration & Content

Business Listings by Postal Code

  • Business license data from the City of Calgary is fully integrated.
  • Listings are matched to communities using postal codes within defined geographical shapes (polygons).
  • Each community page dynamically displays relevant local businesses.

Example: Businesses with a postal code falling inside Sunnyside’s boundaries will appear under /ca/ab/calgary/sunnyside/business.

Education Listings

  • Provincial educational institutions have been imported into the platform.
  • They are similarly assigned to communities via postal code mapping.
  • Schools will appear on community pages and support future Parent Advisory Council (PAC) forums via CDK-ID linking.

Business Directory Enhancements (Coming Soon)

  • Businesses will be able to request additional metadata fields (e.g., services, hours, tags) through manual verification.
  • This process is managed via support.canuckduck.ca, and requires identity verification and approval.

Community Association & Content Integration

  • Community associations are now linked to each community via their CDK-ID.
  • Each community page features a direct link to their respective MyCalgary.com magazine (when available).
  • Official City of Calgary Community Profiles are also linked, providing:
    • Demographics
    • Population forecasts
    • Socioeconomic indicators

National Deployment Prep

The backend now contains over 910,000 postal codes, covering every known Canadian postal code as part of our national rollout.

⚠️ Note: In provinces with shared postal codes across multiple communities (e.g., Newfoundland), only one community is assigned per code at this time. Future disambiguation logic is under review.

Summary

Feature

Status

Pathing for communities

✅ Complete

Calgary business license import

✅ Complete

School data integration

✅ Complete

CDK-ID linkage

✅ Active

Postal code database

✅ 910K records

National path readiness

🚧 In progress

Enhanced business metadata

🔜 Pending ticket-based rollout

Submitted by coreadmin on Mon, 07/28/2025 - 15:49

Permalink

Pond.Canuckduck.ca — Forum Routing and Pathing Framework

National Topic Pathing Implemented

The URL framework for national-level forum discussions is now fully implemented, supporting a three-tiered taxonomy hierarchy. All national topics follow the standardized structure:

/ca/national/{category}/{subtopic}/{discussion}

This structure enables:

  • Clear and consistent topic discovery
  • Scalable organization of complex societal issues
  • A foundation for moderated, respectful engagement at scale

Note: Due to the public nature and scope of national topics, root-level categories are curated and locked. To propose a new top-level topic, submit a request at support.canuckduck.ca.

Current Status

  • National topics live: 9 of 18 categories complete
  • Forums instantiated: ~900 total threads and boards created

Geographic Pathing Coming Soon

We are standardizing regional and community-level forum paths to follow a clear, civic-oriented structure:

swift

CopyEdit

/ca/{province}/{city}/{community}

Example:

swift

CopyEdit

/ca/ab/calgary/sunnyside

While these community forums are not yet active, the URL infrastructure is now in place. This will enable:

  • Seamless linking from community pages
  • Scoped discussions at the municipal or neighborhood level
  • Future integration with verified users and community associations

Design Philosophy

The forum system emphasizes:

  • Clarity: Forums are structured around real civic geographies and curated taxonomies.
  • Intentionality: Entering a forum is treated as a conscious decision to engage.
  • Scalability: The platform supports both issue-based and location-based discussion across Canada.
  • Delete
  • Edit
  • Reply

Submitted by coreadmin on Mon, 07/28/2025 - 16:06

Permalink

CDKID Framework

A Unified Identifier System for Civic Data Integrity

The CDKID (CanuckDUCK Identifier) is a functional key structure used across CanuckDUCK datasets to uniquely identify and categorize civic entities. It ensures consistency, traceability, and linkage across modules like Communities, Pond, Consensus, and Flightplan.

CDKIDs are used in place of arbitrary UUIDs to convey both type and scope directly in the identifier, while retaining global uniqueness via the hash or token portion.

CDKID Structure

Each CDKID follows a structured format:

CopyEdit

CDK-{REGION}-{SCOPE}-{UNIQUE_KEY}

  • CDK: Root namespace (CanuckDUCK)
  • {REGION}: Province or national code (e.g., AB, BC, CA)
  • {SCOPE}: Entity type (e.g., MUN, NPO, EDU, GOV)
  • {UNIQUE_KEY}: A 16–20 character alphanumeric string (hash or token)

Example CDKIDs by Type

Entity

Description

Example

Municipality

Calgary, Alberta

CDK-AB-MUN-BLU3R1NGR04DDEBTLOOP

Community

Calgary / Sunnyside

CDK-AB-CAL-DQNEiEq2qGYSXjvxHg94

Nonprofit / Community Assoc.

Sunnyside CA

CDK-AB-NPO-9AD4F1C4BA854A21A09A

Government Agency

CRA (Federal)

CDK-CA-GOV-aDcwMfKl8ZMDvKh4kzeg

Educational Institution

Alberta school

CDK-AB-EDU-a95972d50e0ffddf66d0

Province

Alberta

CDK-AB-PROVINCE

 

CDKIDs are immutable once assigned. If an entity changes significantly (e.g., NPO to for-profit), a new CDKID is generated and linked as a legacy mapping if needed.

Design

  • Uniqueness: Every CDKID is globally unique and traceable to its origin
  • Readability: Embedded structure makes it human-inspectable
  • Interoperability: Used across PostgreSQL, LDAP, and optionally on-chain
  • Security: Opaque token prevents tampering or guessing
  • Extendability: Future scopes (e.g., CDK-AB-HSP for healthcare services) can be easily added

Use in Practice

  • Used as canonical references in URLs and entity lookup tools
  • Powers cross-platform SSO session binding and permission mapping
  • Enables clean audit trails and voting/issue tracking in modules like Pond and Consensus
  • Included in logs, tokens, and form exports for external referencing

Next Steps & Upcoming Additions

  • Integration with Hedera for select on-chain CDKIDs (pilot in Flightplan)
  • Schema publication for third-party validation
  • CDKID Resolver microservice (API to resolve ID → entity metadata)
  • Delete
  • Edit
  • Reply

Submitted by coreadmin on Mon, 07/28/2025 - 16:14

Permalink

RoboDUCK

Isolated AI connected to all sites and the database.  

Currently able to index site contents for the ecosystem and select database tables, RoboDUCK is set to respond with a "Quack" In the event that a query falls out of bounds of the context of Canada, civic engagement, municipal and community information.

Roboduck lives on a AMD Radeon RX 7800 XT as we await Nvidia and their 4 trillion dollar empire to generously donate a H100 NVL.  In the meantime, our trusty AMD is holding up to the task, albeit a bit slower than we would hope.

Roboduck will be rolled out to the ecosystem once validation testing has been conducted on the web crawlers.  To the government sites we will be crawling.  We promise to limit queries to 1 every 5 seconds.  

RoboDuck is not a generative model in the traditional LLM sense. It’s a read-only, search-and-retrieve AI agent operating in a narrow, structured domain. You can think of it as a domain-specific Retrieval-Augmented Generation (RAG)-lite system, but with tightly constrained behavior.

Architecture Summary -CLI or API endpoint functionality

Agent - Read-only AI logic—Mistral (Ollama)

Retriever - SQL-based queries on read-only access to the databases and other approved tables

Indexing - Structured schema index—cities, communities, associations, etc.

Control Layer - Hard-coded filters (no generation, no off-topic responses)

Storage - PostgreSQL

Environment - Runs inside WSL (Windows Subsystem for Linux), isolated and sandboxed

 

Submitted by coreadmin on Thu, 07/31/2025 - 22:32

Permalink

Communities and Pond

Pathing is in place for pond and communities to resolve to all communities in Calgary.  Links have been placed on communities page for dynamic linking to peer community geo locations across the ecosystem

Flightplan and Consensus still require pathing logic, so at this time the links on the community pages to flightplan and consensus are non operational.  

Custom QR Codes are being developed on communities to assist in directing traffic to the site.

Submitted by coreadmin on Tue, 08/12/2025 - 21:15

Permalink

Communities

We have completed full token based authentication flow for the communities site, and included redirects from communities back to core for the login.  This successfully validates the login flow ensuring that sites can handle a user as being authenticated and have no frame of reference as to who they are or have a clear path back to user identification.  This marks one of the most significant challenges that was faced in the Canuckduck Ecosystem--- being able to trust someone and not know who they are.  This framework will be rolled out to all the other sites very shortly.

<UPDATE>  Pond has been brought online utilizing the token system