@beaconlabs-io/evidence 1.1.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/README.md +256 -0
- package/deployments/00.json +34 -0
- package/deployments/01.json +28 -0
- package/deployments/02.json +34 -0
- package/deployments/03.json +40 -0
- package/deployments/04.json +40 -0
- package/deployments/05.json +28 -0
- package/deployments/06.json +28 -0
- package/deployments/07.json +28 -0
- package/deployments/08.json +28 -0
- package/deployments/09.json +28 -0
- package/deployments/10.json +40 -0
- package/deployments/11.json +28 -0
- package/deployments/12.json +22 -0
- package/deployments/13.json +22 -0
- package/deployments/14.json +34 -0
- package/deployments/15.json +22 -0
- package/deployments/16.json +34 -0
- package/deployments/17.json +22 -0
- package/deployments/18.json +40 -0
- package/deployments/19.json +40 -0
- package/deployments/20.json +40 -0
- package/dist/content/deployments.d.ts +5 -0
- package/dist/content/deployments.d.ts.map +1 -0
- package/dist/content/deployments.js +664 -0
- package/dist/content/deployments.js.map +1 -0
- package/dist/content/evidence.d.ts +5 -0
- package/dist/content/evidence.d.ts.map +1 -0
- package/dist/content/evidence.js +678 -0
- package/dist/content/evidence.js.map +1 -0
- package/dist/content/index.d.ts +31 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +72 -0
- package/dist/content/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +130 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +75 -0
- package/dist/types.js.map +1 -0
- package/evidence/00.mdx +78 -0
- package/evidence/01.mdx +115 -0
- package/evidence/02.mdx +72 -0
- package/evidence/03.mdx +74 -0
- package/evidence/04.mdx +81 -0
- package/evidence/05.mdx +83 -0
- package/evidence/06.mdx +61 -0
- package/evidence/07.mdx +61 -0
- package/evidence/08.mdx +57 -0
- package/evidence/09.mdx +63 -0
- package/evidence/10.mdx +60 -0
- package/evidence/11.mdx +58 -0
- package/evidence/12.mdx +62 -0
- package/evidence/13.mdx +53 -0
- package/evidence/14.mdx +52 -0
- package/evidence/15.mdx +53 -0
- package/evidence/16.mdx +52 -0
- package/evidence/17.mdx +53 -0
- package/evidence/18.mdx +52 -0
- package/evidence/19.mdx +54 -0
- package/evidence/20.mdx +53 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/content/evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Evidence, EvidenceFrontmatter, EvidenceDeployment, BundledEvidence } from "../types";
|
|
2
|
+
import { evidence, evidenceSlugs } from "./evidence";
|
|
3
|
+
import { deployments, deploymentSlugs } from "./deployments";
|
|
4
|
+
export { evidence, evidenceSlugs, deployments, deploymentSlugs };
|
|
5
|
+
export type EvidenceSlug = (typeof evidenceSlugs)[number];
|
|
6
|
+
export type DeploymentSlug = (typeof deploymentSlugs)[number];
|
|
7
|
+
/**
|
|
8
|
+
* Get evidence by slug
|
|
9
|
+
*/
|
|
10
|
+
export declare function getEvidence(slug: string): BundledEvidence | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Get all evidence slugs
|
|
13
|
+
*/
|
|
14
|
+
export declare function getAllEvidenceSlugs(): readonly string[];
|
|
15
|
+
/**
|
|
16
|
+
* Get deployment metadata by slug
|
|
17
|
+
*/
|
|
18
|
+
export declare function getDeployment(slug: string): EvidenceDeployment | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Get evidence with deployment metadata merged (for display)
|
|
21
|
+
*/
|
|
22
|
+
export declare function getEvidenceWithDeployment(slug: string): Evidence | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Get all evidence metadata (frontmatter only, for lists)
|
|
25
|
+
*/
|
|
26
|
+
export declare function getAllEvidenceMeta(): EvidenceFrontmatter[];
|
|
27
|
+
/**
|
|
28
|
+
* Get all evidence with deployment metadata merged
|
|
29
|
+
*/
|
|
30
|
+
export declare function getAllEvidence(): Evidence[];
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/content/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EAChB,MAAM,UAAU,CAAC;AAKlB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAErE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAEvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAiB5E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,EAAE,CAQ1D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,EAAE,CAS3C"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// These will be generated by the build script
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
|
+
// @ts-ignore - Generated at build time
|
|
4
|
+
import { evidence, evidenceSlugs } from "./evidence";
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
6
|
+
// @ts-ignore - Generated at build time
|
|
7
|
+
import { deployments, deploymentSlugs } from "./deployments";
|
|
8
|
+
export { evidence, evidenceSlugs, deployments, deploymentSlugs };
|
|
9
|
+
/**
|
|
10
|
+
* Get evidence by slug
|
|
11
|
+
*/
|
|
12
|
+
export function getEvidence(slug) {
|
|
13
|
+
return evidence[slug];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get all evidence slugs
|
|
17
|
+
*/
|
|
18
|
+
export function getAllEvidenceSlugs() {
|
|
19
|
+
return evidenceSlugs;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Get deployment metadata by slug
|
|
23
|
+
*/
|
|
24
|
+
export function getDeployment(slug) {
|
|
25
|
+
return deployments[slug];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get evidence with deployment metadata merged (for display)
|
|
29
|
+
*/
|
|
30
|
+
export function getEvidenceWithDeployment(slug) {
|
|
31
|
+
const ev = evidence[slug];
|
|
32
|
+
const dep = deployments[slug];
|
|
33
|
+
if (!ev)
|
|
34
|
+
return undefined;
|
|
35
|
+
return {
|
|
36
|
+
...ev.frontmatter,
|
|
37
|
+
...(dep
|
|
38
|
+
? {
|
|
39
|
+
attestationUID: dep.attestationUID,
|
|
40
|
+
ipfsHash: dep.ipfsHash,
|
|
41
|
+
timestamp: dep.timestamp,
|
|
42
|
+
history: dep.history,
|
|
43
|
+
}
|
|
44
|
+
: {}),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get all evidence metadata (frontmatter only, for lists)
|
|
49
|
+
*/
|
|
50
|
+
export function getAllEvidenceMeta() {
|
|
51
|
+
return Object.values(evidence)
|
|
52
|
+
.map((e) => e.frontmatter)
|
|
53
|
+
.sort((a, b) => {
|
|
54
|
+
const idA = parseInt(a.evidence_id, 10);
|
|
55
|
+
const idB = parseInt(b.evidence_id, 10);
|
|
56
|
+
return idA - idB;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get all evidence with deployment metadata merged
|
|
61
|
+
*/
|
|
62
|
+
export function getAllEvidence() {
|
|
63
|
+
return evidenceSlugs
|
|
64
|
+
.map((slug) => getEvidenceWithDeployment(slug))
|
|
65
|
+
.filter((e) => e !== undefined)
|
|
66
|
+
.sort((a, b) => {
|
|
67
|
+
const idA = parseInt(a.evidence_id, 10);
|
|
68
|
+
const idB = parseInt(b.evidence_id, 10);
|
|
69
|
+
return idA - idB;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/content/index.ts"],"names":[],"mappings":"AAOA,8CAA8C;AAC9C,6DAA6D;AAC7D,uCAAuC;AACvC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,6DAA6D;AAC7D,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAKjE;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,QAAQ,CAAC,IAAI,CAAgC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,WAAW,CAAC,IAAI,CAAmC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAgC,CAAC;IACzD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAmC,CAAC;IAEhE,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAE1B,OAAO;QACL,GAAG,EAAE,CAAC,WAAW;QACjB,GAAG,CAAC,GAAG;YACL,CAAC,CAAC;gBACE,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB;YACH,CAAC,CAAC,EAAE,CAAC;KACI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,QAA2C,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;SACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAQ,aAAmC;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;SAC9C,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxC,OAAO,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,cAAc,SAAS,CAAC;AAExB,8BAA8B;AAC9B,cAAc,WAAW,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const STRENGTH_LEVELS: readonly ["0", "1", "2", "3", "4", "5"];
|
|
3
|
+
export type StrengthLevel = (typeof STRENGTH_LEVELS)[number];
|
|
4
|
+
export declare const OUTCOME_EFFECTS: readonly ["N/A", "+", "-", "+-", "!"];
|
|
5
|
+
export type OutcomeEffect = (typeof OUTCOME_EFFECTS)[number];
|
|
6
|
+
export declare const EvidenceResultSchema: z.ZodObject<{
|
|
7
|
+
intervention: z.ZodString;
|
|
8
|
+
outcome_variable: z.ZodString;
|
|
9
|
+
outcome: z.ZodEnum<{
|
|
10
|
+
"N/A": "N/A";
|
|
11
|
+
"+": "+";
|
|
12
|
+
"-": "-";
|
|
13
|
+
"+-": "+-";
|
|
14
|
+
"!": "!";
|
|
15
|
+
}>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export type EvidenceResult = z.infer<typeof EvidenceResultSchema>;
|
|
18
|
+
export declare const EvidenceCitationSchema: z.ZodObject<{
|
|
19
|
+
name: z.ZodString;
|
|
20
|
+
type: z.ZodOptional<z.ZodString>;
|
|
21
|
+
src: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export type EvidenceCitation = z.infer<typeof EvidenceCitationSchema>;
|
|
24
|
+
export declare const EvidenceFrontmatterSchema: z.ZodObject<{
|
|
25
|
+
evidence_id: z.ZodString;
|
|
26
|
+
title: z.ZodString;
|
|
27
|
+
author: z.ZodString;
|
|
28
|
+
date: z.ZodString;
|
|
29
|
+
citation: z.ZodArray<z.ZodObject<{
|
|
30
|
+
name: z.ZodString;
|
|
31
|
+
type: z.ZodOptional<z.ZodString>;
|
|
32
|
+
src: z.ZodOptional<z.ZodString>;
|
|
33
|
+
}, z.core.$strip>>;
|
|
34
|
+
results: z.ZodArray<z.ZodObject<{
|
|
35
|
+
intervention: z.ZodString;
|
|
36
|
+
outcome_variable: z.ZodString;
|
|
37
|
+
outcome: z.ZodEnum<{
|
|
38
|
+
"N/A": "N/A";
|
|
39
|
+
"+": "+";
|
|
40
|
+
"-": "-";
|
|
41
|
+
"+-": "+-";
|
|
42
|
+
"!": "!";
|
|
43
|
+
}>;
|
|
44
|
+
}, z.core.$strip>>;
|
|
45
|
+
strength: z.ZodEnum<{
|
|
46
|
+
0: "0";
|
|
47
|
+
1: "1";
|
|
48
|
+
2: "2";
|
|
49
|
+
3: "3";
|
|
50
|
+
4: "4";
|
|
51
|
+
5: "5";
|
|
52
|
+
}>;
|
|
53
|
+
methodologies: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
|
|
54
|
+
version: z.ZodOptional<z.ZodString>;
|
|
55
|
+
datasets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
56
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
export type EvidenceFrontmatter = z.infer<typeof EvidenceFrontmatterSchema>;
|
|
59
|
+
export declare const EvidenceDeploymentHistorySchema: z.ZodObject<{
|
|
60
|
+
ipfsHash: z.ZodString;
|
|
61
|
+
attestationUID: z.ZodCustom<`0x${string}`, `0x${string}`>;
|
|
62
|
+
timestamp: z.ZodString;
|
|
63
|
+
size: z.ZodNumber;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
export type EvidenceDeploymentHistory = z.infer<typeof EvidenceDeploymentHistorySchema>;
|
|
66
|
+
export declare const EvidenceDeploymentSchema: z.ZodObject<{
|
|
67
|
+
evidenceId: z.ZodString;
|
|
68
|
+
ipfsHash: z.ZodString;
|
|
69
|
+
attestationUID: z.ZodCustom<`0x${string}`, `0x${string}`>;
|
|
70
|
+
timestamp: z.ZodString;
|
|
71
|
+
size: z.ZodNumber;
|
|
72
|
+
updatedAt: z.ZodOptional<z.ZodString>;
|
|
73
|
+
history: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
74
|
+
ipfsHash: z.ZodString;
|
|
75
|
+
attestationUID: z.ZodCustom<`0x${string}`, `0x${string}`>;
|
|
76
|
+
timestamp: z.ZodString;
|
|
77
|
+
size: z.ZodNumber;
|
|
78
|
+
}, z.core.$strip>>>;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
export type EvidenceDeployment = z.infer<typeof EvidenceDeploymentSchema>;
|
|
81
|
+
export declare const EvidenceSchema: z.ZodObject<{
|
|
82
|
+
evidence_id: z.ZodString;
|
|
83
|
+
title: z.ZodString;
|
|
84
|
+
author: z.ZodString;
|
|
85
|
+
date: z.ZodString;
|
|
86
|
+
citation: z.ZodArray<z.ZodObject<{
|
|
87
|
+
name: z.ZodString;
|
|
88
|
+
type: z.ZodOptional<z.ZodString>;
|
|
89
|
+
src: z.ZodOptional<z.ZodString>;
|
|
90
|
+
}, z.core.$strip>>;
|
|
91
|
+
results: z.ZodArray<z.ZodObject<{
|
|
92
|
+
intervention: z.ZodString;
|
|
93
|
+
outcome_variable: z.ZodString;
|
|
94
|
+
outcome: z.ZodEnum<{
|
|
95
|
+
"N/A": "N/A";
|
|
96
|
+
"+": "+";
|
|
97
|
+
"-": "-";
|
|
98
|
+
"+-": "+-";
|
|
99
|
+
"!": "!";
|
|
100
|
+
}>;
|
|
101
|
+
}, z.core.$strip>>;
|
|
102
|
+
strength: z.ZodEnum<{
|
|
103
|
+
0: "0";
|
|
104
|
+
1: "1";
|
|
105
|
+
2: "2";
|
|
106
|
+
3: "3";
|
|
107
|
+
4: "4";
|
|
108
|
+
5: "5";
|
|
109
|
+
}>;
|
|
110
|
+
methodologies: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
|
|
111
|
+
version: z.ZodOptional<z.ZodString>;
|
|
112
|
+
datasets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
113
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
114
|
+
attestationUID: z.ZodOptional<z.ZodCustom<`0x${string}`, `0x${string}`>>;
|
|
115
|
+
ipfsHash: z.ZodOptional<z.ZodString>;
|
|
116
|
+
timestamp: z.ZodOptional<z.ZodString>;
|
|
117
|
+
history: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
118
|
+
ipfsHash: z.ZodString;
|
|
119
|
+
attestationUID: z.ZodCustom<`0x${string}`, `0x${string}`>;
|
|
120
|
+
timestamp: z.ZodString;
|
|
121
|
+
size: z.ZodNumber;
|
|
122
|
+
}, z.core.$strip>>>;
|
|
123
|
+
}, z.core.$strip>;
|
|
124
|
+
export type Evidence = z.infer<typeof EvidenceSchema>;
|
|
125
|
+
export interface BundledEvidence {
|
|
126
|
+
frontmatter: EvidenceFrontmatter;
|
|
127
|
+
content: string;
|
|
128
|
+
raw: string;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,eAAe,yCAA0C,CAAC;AACvE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,eAAO,MAAM,eAAe,uCAAwC,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAM7D,eAAO,MAAM,oBAAoB;;;;;;;;;;iBAM/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAM5E,eAAO,MAAM,+BAA+B;;;;;iBAQ1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;iBAWnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM1E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAMtD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,mBAAmB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// CORE CONSTANTS
|
|
4
|
+
// =============================================================================
|
|
5
|
+
export const STRENGTH_LEVELS = ["0", "1", "2", "3", "4", "5"];
|
|
6
|
+
export const OUTCOME_EFFECTS = ["N/A", "+", "-", "+-", "!"];
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// CORE SCHEMAS
|
|
9
|
+
// =============================================================================
|
|
10
|
+
export const EvidenceResultSchema = z.object({
|
|
11
|
+
intervention: z.string(),
|
|
12
|
+
outcome_variable: z.string(),
|
|
13
|
+
outcome: z.enum(OUTCOME_EFFECTS, {
|
|
14
|
+
message: "Outcome must be one of: N/A, +, -, +-, !",
|
|
15
|
+
}),
|
|
16
|
+
});
|
|
17
|
+
export const EvidenceCitationSchema = z.object({
|
|
18
|
+
name: z.string().min(1, "Citation name is required"),
|
|
19
|
+
type: z.string().optional(),
|
|
20
|
+
src: z.string().optional(),
|
|
21
|
+
});
|
|
22
|
+
export const EvidenceFrontmatterSchema = z.object({
|
|
23
|
+
evidence_id: z.string().min(1, "Evidence ID is required"),
|
|
24
|
+
title: z.string().min(1, "Title is required"),
|
|
25
|
+
author: z.string().min(1, "Author is required"),
|
|
26
|
+
date: z
|
|
27
|
+
.string()
|
|
28
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format"),
|
|
29
|
+
citation: z
|
|
30
|
+
.array(EvidenceCitationSchema)
|
|
31
|
+
.min(1, "At least one citation is required"),
|
|
32
|
+
results: z
|
|
33
|
+
.array(EvidenceResultSchema)
|
|
34
|
+
.min(1, "At least one result is required"),
|
|
35
|
+
strength: z.enum(STRENGTH_LEVELS, {
|
|
36
|
+
message: "Strength must be a level from 0 to 5 (SMS scale)",
|
|
37
|
+
}),
|
|
38
|
+
methodologies: z.union([z.string(), z.array(z.string())]),
|
|
39
|
+
version: z
|
|
40
|
+
.string()
|
|
41
|
+
.regex(/^\d+\.\d+\.\d+$/, "Version must be in semver format")
|
|
42
|
+
.optional(),
|
|
43
|
+
datasets: z.array(z.string()).optional(),
|
|
44
|
+
tags: z.array(z.string()).optional(),
|
|
45
|
+
});
|
|
46
|
+
// =============================================================================
|
|
47
|
+
// DEPLOYMENT METADATA SCHEMA
|
|
48
|
+
// =============================================================================
|
|
49
|
+
export const EvidenceDeploymentHistorySchema = z.object({
|
|
50
|
+
ipfsHash: z.string(),
|
|
51
|
+
attestationUID: z.custom((val) => typeof val === "string" && val.startsWith("0x"), { message: "Attestation UID must be a hex string starting with 0x" }),
|
|
52
|
+
timestamp: z.string(),
|
|
53
|
+
size: z.number(),
|
|
54
|
+
});
|
|
55
|
+
export const EvidenceDeploymentSchema = z.object({
|
|
56
|
+
evidenceId: z.string(),
|
|
57
|
+
ipfsHash: z.string(),
|
|
58
|
+
attestationUID: z.custom((val) => typeof val === "string" && val.startsWith("0x"), { message: "Attestation UID must be a hex string starting with 0x" }),
|
|
59
|
+
timestamp: z.string(),
|
|
60
|
+
size: z.number(),
|
|
61
|
+
updatedAt: z.string().optional(),
|
|
62
|
+
history: z.array(EvidenceDeploymentHistorySchema).optional(),
|
|
63
|
+
});
|
|
64
|
+
// =============================================================================
|
|
65
|
+
// COMBINED EVIDENCE TYPE (frontmatter + deployment)
|
|
66
|
+
// =============================================================================
|
|
67
|
+
export const EvidenceSchema = EvidenceFrontmatterSchema.extend({
|
|
68
|
+
attestationUID: z
|
|
69
|
+
.custom((val) => typeof val === "string" && val.startsWith("0x"))
|
|
70
|
+
.optional(),
|
|
71
|
+
ipfsHash: z.string().optional(),
|
|
72
|
+
timestamp: z.string().optional(),
|
|
73
|
+
history: z.array(EvidenceDeploymentHistorySchema).optional(),
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/evidence/00.mdx
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
evidence_id: "00"
|
|
3
|
+
results:
|
|
4
|
+
- intervention: "Listing individual OSS contributors on GitHub Sponsors"
|
|
5
|
+
outcome_variable: "Submitting Pull Requests (PRs)"
|
|
6
|
+
outcome: "+-"
|
|
7
|
+
strength: "3"
|
|
8
|
+
methodologies:
|
|
9
|
+
- "DID、Coarsened Exact Matching(CEM) technique、Robustness Tests"
|
|
10
|
+
version: "1.0.0"
|
|
11
|
+
datasets:
|
|
12
|
+
- "A dataset based on the activities of contributors active on both the GitHub and Stack Overflow platforms."
|
|
13
|
+
title: "Effect of Pull Request Submission by listing individual OSS contributors on GitHub Sponsors"
|
|
14
|
+
date: "2023-06-25"
|
|
15
|
+
tags:
|
|
16
|
+
- "oss"
|
|
17
|
+
citation:
|
|
18
|
+
- type: "link"
|
|
19
|
+
name: "Sponsorship Funding in Open-Source Software: Incentivize or Crowd-Out Motivations to Create, Maintain and Share?"
|
|
20
|
+
src: "https://download.ssrn.com/24/07/17/ssrn_id4484403_code2842526.pdf?response-content-disposition=inline&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIQCVjc%2FFHZ33w0i7HAmAtYnTEdpgdcQ6UZwOc4n67Tl60gIgZB6Uq5N%2FqP%2B4K20cAeIk52jv644E%2FeVlpwPPQ8dkJpgqxQUI2P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAEGgwzMDg0NzUzMDEyNTciDGAtKXuhQgasRUApeiqZBcalab7rv%2BFmzkC0HZPY3mSLdk4vD%2BiU2er03hIvbf8eMj8igRna5QuCbZbCsW7GePAR2ZVjrE2Kc%2BLigLblL1QvKnpiptI5DA%2FyhM%2BHJU4DyLeNrGe2VQkFSesnc0SCfknLoxs1MSWAIyzOx7hahS2Gmuyv%2FIiauI5IHbchapMskP6TnQJtLubha63W9IKRj9g%2Fp%2B98q3UeIRELJgCGek8JumnFeoyQja%2BJ5zFpOOnzbyjzADk15wOizj801PVEQ4IpQ9L7YGkJXuTFkhsysipO80ALBSpNWT03ShqvBkhqvlR4IbhVE1i%2B4%2Fnr%2FakU%2BnDY%2BvlD%2FTklE%2B1AO3KgKzoi1nNH%2B7F%2FAVQEkyc%2FxvhuUYDQ%2BN10QRGgBM%2Fq5lwBoZ%2FUWR4mLzj8wGzETFkQ8%2F67wu%2FgIloV5BYMiIiEYfo%2FdW4iRD6PFjL4lz5kuSXKy1byMqgAzXOELDpLfMo0nDuok1JFOEzH%2Bh032MQ%2F3P167yeXaEPgHOJO9iH3oKRLkdyykjZRaC4GjV6X%2Fs6vIEkjsCdELkRmvhhDjdwsrraQWZVYrxHvvZuwtBnopzYM84WYnUxf7G51NxqB0%2B0YAv9M6ZlhTHsRrljf1rt8ePWRnPy00zvtjF8dkpW2%2FG3e9RlpxGM4BXPEjCzYBjPbuzQz3TtshMMHHSBj7MJuN0RtIpUw0Ss1%2F8LHgc%2B3LRGEMbQB0oJ8aniRd709PO6jU6cncM9s61L4l2V4c1f76j2CY2UmDMna5S7YCxvTmoucq%2BTmg97SU698%2Fh84OCuy2HKViOfiVAd6vHHnSyiflgNvKUR%2FVUzzEqY2vLPixekNtXum22Gi9LWo9xFTMKnsx1Ta69dwhU9F4qB8JOdizJEnldZbND42mVYzMLms%2BcMGOrEBwyMSRsDbPcBIm6qlkSdFxzJ4w6T1yjroN4xU9Z8dicm9Cge6JAztjPAJQthXMe90DbQp2xBGxeauGif2bWRyQ02t4XziAX7lXyBOPLJhpJdjc273%2BysmLZ68aJ1mOdRw62QKzqmNaN2%2BXKb8zEJ%2B%2BBMh%2BKVhAi5NObOFYE491zio5z1E8LsQTM%2Fv0MKn7X2bCUGoz%2BOjfCJZdI6OT3gqr%2BrbWWVBLtuWssXsBBB0RBJZ&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250721T153800Z&X-Amz-SignedHeaders=host&X-Amz-Expires=300&X-Amz-Credential=ASIAUPUUPRWEUWLXFSAT%2F20250721%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=d5734119b1eab43ae1a33536df99bfee85c22702c6cb963d32946a325b79ce2f&abstractId=4484403"
|
|
21
|
+
author: "BeaconLabs"
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Key Points
|
|
25
|
+
|
|
26
|
+
The submission of pull requests experienced a temporary short-term increase, but eventually returned to pre-treatment levels, with a crowding-out effect emerging over time. Among contributors with a high level of community engagement (e.g., frequent contributions to others’ projects, large follower count), a negative impact on knowledge creation activities (i.e., the crowding-out effect) was observed. For contributors who set higher active funding goals, sponsorship appeared to have a positive effect on their knowledge creation activities.
|
|
27
|
+
|
|
28
|
+
## Background
|
|
29
|
+
|
|
30
|
+
The world’s digital infrastructure is built on open-source software (OSS) developed on platforms like GitHub (GH), and supported by complementary knowledge-sharing platforms like Stack Overflow (SO). On these platforms, numerous programmers, maintainers, and researchers devote their efforts to building and maintaining code, as well as supporting users. Contributors play a crucial role not only in knowledge creation activities, such as contributing code and adding new features, but also in knowledge maintenance activities, such as reviewing and integrating community-submitted code.
|
|
31
|
+
|
|
32
|
+
However, it has been pointed out that OSS projects are increasingly burdened by the need to maintain existing code rather than create new code, and that many projects fail due to the lack of intrinsic motivation for maintenance work. Maintenance is often seen as “mundane but necessary,” and tends to lack intrinsic appeal. For example, the 2020 Linux Foundation OSS Contributor Survey highlighted that, although participants showed minimal interest in spending significant time on maintenance-related tasks, they emphasized that the most crucial support OSS projects need is for maintenance work—especially related to security improvements.
|
|
33
|
+
|
|
34
|
+
In this context, there is a growing trend to provide financial support to encourage and sustain volunteer contributors. In May 2019, GH launched GitHub Sponsors, a feature allowing individual OSS developers to receive donations from the community. Unlike traditional project- or activity-specific funding, GitHub Sponsors focuses on individual contributors, offering them the flexibility to reallocate their efforts not only within the host platform but also across other complementary platforms in which they participate. This study investigates the impact of such sponsorship-based funding on OSS contributors’ behavior—specifically, its effect on knowledge creation and maintenance activities on GH and the spillover effects on SO, a complementary knowledge-sharing platform.
|
|
35
|
+
|
|
36
|
+
## Analytical Methods
|
|
37
|
+
|
|
38
|
+
### Dataset
|
|
39
|
+
|
|
40
|
+
- **Data Collection**: The dataset is based on the behavior of contributors active on both GitHub (GH) and Stack Overflow (SO), obtained via APIs provided by both platforms. The panel data spans four years, from January 2018 to December 2021.
|
|
41
|
+
- During the initial data collection period, GH Sponsors was available in 30 countries that supported STRIPE payments. The sample is therefore limited to GH contributors from these countries.
|
|
42
|
+
- To select GH contributors, the following criteria were applied: owning at least 5 repositories, having more than 10 followers, and having joined GH before 2018. This resulted in a sample of 20,841 GH contributors.
|
|
43
|
+
- SO profiles were identified using names, email addresses, and login IDs listed on GH, and only included if a GH URL matched on the SO profile. Ultimately, 5,910 GH contributors who had joined both platforms prior to the observation period were identified, of whom 1,467 were listed for sponsorship during the observation period.
|
|
44
|
+
- Activity-related data were aggregated on a monthly basis.
|
|
45
|
+
|
|
46
|
+
### Intervation / Explanatory Variable
|
|
47
|
+
|
|
48
|
+
- The intervention in this study is the contributor being listed on GitHub Sponsors (Sponsor listing).
|
|
49
|
+
- The primary explanatory variable of interest in this study is a binary indicator that equals 1 starting from the month the contributor is listed for sponsorship (Sponsor Listed).
|
|
50
|
+
- This variable is used to capture the effect starting from the point at which the contributor is listed on GitHub Sponsors.
|
|
51
|
+
|
|
52
|
+
### Dependent Variables
|
|
53
|
+
|
|
54
|
+
- **Knowledge Creation Activity on GitHub**:
|
|
55
|
+
- **Number of Pull Requests (PRs) Submitted** per month.
|
|
56
|
+
- Proposals for changes to the codebase, including new features, bug fixes, and improvements.
|
|
57
|
+
|
|
58
|
+
### Identification Strategy
|
|
59
|
+
|
|
60
|
+
- **A Difference-in-Differences (DID)** estimation was used to measure changes in pull request submission due to sponsorship.
|
|
61
|
+
- **Coarsened Exact Matching (CEM)** was applied to match contributors based on their activity levels prior to being listed for sponsorship.
|
|
62
|
+
|
|
63
|
+
### Robustness Test
|
|
64
|
+
|
|
65
|
+
- The following supplemental analyses on PR submissions were conducted:
|
|
66
|
+
- Use of **alternative dependent variables for PR submissions**.
|
|
67
|
+
- Controlling for **PR characteristics (e.g., size, number of files, number of commits, time to merge)**.
|
|
68
|
+
- Considering **self-merged PRs**.
|
|
69
|
+
- Considering **PRs related to issues**.
|
|
70
|
+
|
|
71
|
+
## Results
|
|
72
|
+
|
|
73
|
+
- **No significant overall effect of sponsorship on knowledge creation activity (PR submissions) on GitHub.**。
|
|
74
|
+
- A temporary increase is observed in the short term, but a **crowding-out effect** appears over time.
|
|
75
|
+
- In the long term, the effect on PR submissions disappears due to a decline in intrinsic motivation.
|
|
76
|
+
|
|
77
|
+
- For **contributors with high community engagement** or **those who set higher funding goals**, a stronger negative effect (reduction in PR submissions) was observed.
|
|
78
|
+
- There is a tendency **to see an increase in PR submissions to less popular projects**.
|
package/evidence/01.mdx
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
evidence_id: "01"
|
|
3
|
+
results:
|
|
4
|
+
- intervention: "Construction and Deployment of 'Code for America Brigade'"
|
|
5
|
+
outcome_variable: "Generation of 'momentum' in existing civic tech projects (e.g., number of page edits, map additions, and photo uploads on LocalWiki)."
|
|
6
|
+
outcome: "+-"
|
|
7
|
+
strength: "0"
|
|
8
|
+
methodologies:
|
|
9
|
+
- "Interview, Survey, Google Analitics"
|
|
10
|
+
version: "1.0.0"
|
|
11
|
+
datasets:
|
|
12
|
+
- "Interview, Survey, Google Analitics"
|
|
13
|
+
title: "Effect of Code for America Brigade for momentum of OSS activity"
|
|
14
|
+
date: "2016-10-07"
|
|
15
|
+
tags:
|
|
16
|
+
- "oss"
|
|
17
|
+
citation:
|
|
18
|
+
- name: "Code for America Brigade: Connecting People, Places, and Apps within the Civic Hacker Community"
|
|
19
|
+
src: "https://www.ischool.berkeley.edu/sites/default/files/student_projects/karimcglynn_codeforamericabrigade_finalreport.pdf"
|
|
20
|
+
type: "link"
|
|
21
|
+
author: "BeaconLabs"
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Key Points
|
|
25
|
+
|
|
26
|
+
The LocalWiki project saw significant progress during a single-day event, with 633 pages edited, 100 maps added, and 138 new photos uploaded.
|
|
27
|
+
|
|
28
|
+
## Background
|
|
29
|
+
|
|
30
|
+
Code for America (CfA) is a nonprofit organization based in San Francisco, with a mission to make city governments more efficient, transparent, and responsive to resident needs through technology.
|
|
31
|
+
|
|
32
|
+
Each year, CfA organizes a fellowship program in which small teams of selected programmers, designers, and other technologists partner with local governments to build web and mobile applications that address community issues.
|
|
33
|
+
|
|
34
|
+
However, in Fall 2011, CfA faced two major challenges:
|
|
35
|
+
|
|
36
|
+
1. There was a lack of infrastructure to coordinate and manage volunteer contributions from outside the organization. Despite receiving over 550 fellowship applications and having more than 10,000 fans and followers on social media—an “enthusiasm surplus”—CfA was unable to effectively leverage this support.
|
|
37
|
+
|
|
38
|
+
2. While CfA planned to significantly expand the fellowship program over the next 3–5 years, the current program structure was seen as unsuitable for scaling to smaller cities and towns.
|
|
39
|
+
|
|
40
|
+
To address these challenges, the foundation for a new initiative, “CFA Everywhere,” was laid in Fall 2011 as a class project in UC Berkeley’s ISSD course. The proposal received funding in early 2012 and was renamed Code for America Brigade, inspired by fire brigades, with the goal of transforming isolated civic hacker efforts into a broader, integrated movement. It aimed to be an open-source platform connecting CfA’s activities with the wider civic hacker community.
|
|
41
|
+
|
|
42
|
+
## Analysis Methods
|
|
43
|
+
|
|
44
|
+
### Dataset
|
|
45
|
+
|
|
46
|
+
- Interview Data:
|
|
47
|
+
- Volunteers in open source development projects: Interviews were conducted with volunteers involved in both technical (open source development, hackathons) and non-technical (e.g., Habitat for Humanity) projects.
|
|
48
|
+
- Code for America fellows and staff: Interviews were conducted during the project's early stages.
|
|
49
|
+
|
|
50
|
+
- Social Network Data:
|
|
51
|
+
- CfA fellowship applicants and Twitter followers: Analyzed to understand their skills and interests.
|
|
52
|
+
- Twitter stream data: Live tweets using the #codeacross hashtag during the “Code Across America” events and post-event tweets were used to generate a world map of activity.
|
|
53
|
+
|
|
54
|
+
- Event Participant Data:
|
|
55
|
+
- Code Across America hackathon surveys: Surveys were developed and used to gather participant intentions and feedback.
|
|
56
|
+
|
|
57
|
+
- Site Usage Data:
|
|
58
|
+
- Google Analytics: Provided insights on Brigade site traffic, visitor count, time-on-site, page views, bounce rates, return visitor ratios, and referrers.
|
|
59
|
+
|
|
60
|
+
- User Feedback Data:
|
|
61
|
+
- Unofficial feedback: Gathered from users via the Brigade mailing list and other channels after launch.
|
|
62
|
+
- Official surveys: A brief open-ended survey was conducted after the launch of Brigade v.1 to collect user experience feedback from registered users.
|
|
63
|
+
|
|
64
|
+
### Preliminary Research and Insight Extraction:
|
|
65
|
+
|
|
66
|
+
- **Open Source Development Interviews**: Found that the top motivator for volunteers was “becoming part of a community of people with shared interests,” leading to the insight that the platform should be designed not as a project management tool but as a community organizing platform.
|
|
67
|
+
- **Social Network Analysis**: Revealed that many CfA followers and applicants were interested in non-coding skills such as graphic design, UX, project management, and community work, indicating the platform should be designed not only for developers but for a diverse range of volunteers.
|
|
68
|
+
- **Fellow and Staff Interviews**: Highlighted that CfA staff lacked bandwidth to manage external projects, leading to the insight that CfA should act as a “catalyst for unleashing the potential of supporters nationwide,” focusing on enabling self-organization and resource sharing.
|
|
69
|
+
|
|
70
|
+
### Shift to Lean Startup and Agile Development:
|
|
71
|
+
|
|
72
|
+
- Transitioning from an academic proposal to an actual development project required defining the requirements of a Lean Startup-style Minimum Viable Product (MVP).
|
|
73
|
+
- Agile Inception Event: Held at the CfA office in January 2012, where stakeholders gathered to define MVP “user stories” using index card brainstorming and dot-voting techniques.
|
|
74
|
+
|
|
75
|
+
### Post-Launch Evaluation and Improvements:
|
|
76
|
+
|
|
77
|
+
- Analysis of Unofficial Feedback: Post-launch feedback helped identify areas for improvement (e.g., lack of content, unclear app status, absence of editing tools).
|
|
78
|
+
- User Survey Analysis: Open-ended responses from a five-question survey were manually parsed, categorized, and visualized in bar charts. Key findings included user excitement about connecting with others, the need for better support for collaboration, and demands for documentation, case studies, and tutorials.
|
|
79
|
+
- Google Analytics Analysis: Tracked post-launch traffic and engagement, revealing that most traffic was direct and engagement was low (approx. 90% stayed less than five minutes, 85% had fewer than five return visits).
|
|
80
|
+
|
|
81
|
+
## Result
|
|
82
|
+
|
|
83
|
+
- **Platform Status at Launch**:
|
|
84
|
+
- brigade.codeforamerica.org hosted 9 reusable civic apps and provided links and instructions for deploying local instances.
|
|
85
|
+
- Over 250 registered users, more than 80 locations, and approximately 40 Brigades were formed.
|
|
86
|
+
- MVP features included sign-up via email or GitHub, profile creation, joining/starting Brigades, viewing apps, Brigades, people, and location detail pages, submitting/viewing challenges, and sharing via social media.
|
|
87
|
+
- Based on an open design strategy—“don’t reinvent the wheel” and “don’t monopolize user interactions”—the platform integrated with third-party APIs like Civic Commons and Gravatar and recommended using existing tools like Google Groups.
|
|
88
|
+
- Brigades were designed as purely virtual associations, allowing users to freely form groups, though this information architecture proved confusing for new users.
|
|
89
|
+
- The app deployment checklist was simplified from its original concept due to documentation gaps and varied deployment processes, leading to increased burden on administrators.
|
|
90
|
+
|
|
91
|
+
- **Launch and Early Impact at SXSW**:
|
|
92
|
+
- On March 14, 2012, the Brigade platform officially launched during the SXSW Interactive keynote.
|
|
93
|
+
- The launch was a significant success, with over 120 users from 45 locations signing up within the first 24 hours.
|
|
94
|
+
- The February “Code Across America” hackathon series spanned 16 cities, boosting existing civic tech projects. For example, in Raleigh, NC, the LocalWiki project saw ~50 volunteers contribute 633 page edits, 100 maps, and 138 new photos—nearly doubling six months’ worth of progress in a single day. The events also helped forge connections among civic technologists across cities and build a support community around open source software.
|
|
95
|
+
|
|
96
|
+
- **Initial Feedback and Challenges**:
|
|
97
|
+
- Unofficial user feedback pointed out content gaps, unclear distinctions between "deployable" and "deployed" apps, and a lack of editing functionality.
|
|
98
|
+
- Most communication between Brigade staff and civic hackers continued through offline channels such as email, conference calls, and Google Hangouts—useful for forming new relationships, identifying partners, and addressing urgent issues. The Brigade director noted that during early platform development, staff were expected to bridge functionality gaps through direct interaction.
|
|
99
|
+
- The site wasn’t always the main driver of community activity. Instead, it functioned more as a symbolic record of connections between people, places, and projects.
|
|
100
|
+
- Notable challenges included the lack of task tracking (relying only on GitHub links) and inadequate support for outreach and organization by fledgling Brigades.
|
|
101
|
+
|
|
102
|
+
- **Brigade v.1 Updates**:
|
|
103
|
+
- A site design update was deployed in early April 2012.
|
|
104
|
+
- Navigation was clarified and restructured around “Applications,” “Brigades,” and “People.”
|
|
105
|
+
- Due to resource constraints, the “Challenges” feature was temporarily shelved.
|
|
106
|
+
- Informational content was added to explain site terminology (apps, deploy, Brigade).
|
|
107
|
+
- A new “status” column was added to the list of deployed apps to better indicate progress.
|
|
108
|
+
|
|
109
|
+
- **Survey and Google Analytics Evaluation**:
|
|
110
|
+
- Survey results showed that civic hackers were excited to connect via the platform but also desired more connection support (e.g., communication tools, wiki spaces, mailing list features).
|
|
111
|
+
- Feature limitations were found to contribute to reduced engagement among some users.
|
|
112
|
+
- High demand was expressed for content expansions like case studies, tutorials, and wiki/forum features.
|
|
113
|
+
- Google Analytics showed a major spike in traffic during the SXSW launch, followed by a slowdown and relatively low user engagement (short visit times, low repeat visits). There was also room for improvement in social media referrals.
|
|
114
|
+
|
|
115
|
+
Based on these findings, recommendations for Brigade v.2 included enabling user-generated content (e.g., wiki-style app “recipes,” technical updates), enhancing content discovery via location-based features (e.g., Brigade maps, filtering by people), increasing visibility of social sharing features, and launching a Brigade blog.
|